我只想做一个循环(for file in *) 5次(所以它不再是一个真正的循环,但是),有没有这样做的方法?
发布于 2012-01-01 06:43:35
将文件放入数组中,然后对该数组进行切片。
$ files=(*)
$ for file in "${files[@]::5}" ; do echo "$file" ; done
あいうえお
0000000000-11-005978.txt
0000000000-11-020832.txt
1
,123发布于 2012-01-01 06:43:39
这将只查看目录中的前五个项目:
for file in $(ls | head -5)正如Ignacio Vazquez-艾布拉姆斯指出的那样,只有当你的文件名不包含任何空格时,这才能起作用。(他们可能不会,但一定要记住一些事情。)
发布于 2012-01-01 07:08:14
这是另一个解决方案,它只使用bash,不使用外部工具:
let COUNT=0
for FILENAME in *
do
echo do something to $FILENAME
let COUNT=COUNT+1
if (( $COUNT == "5" )); then
break
fi
donehttps://stackoverflow.com/questions/8690927
复制相似问题