我想做一个循环(for file in *)
只有5次(所以它不是一个真正的循环了,但是)但是有无论如何做到这一点?做一个循环只有5次
回答
将文件放在数组中,然后对数组进行切片。
$ files=(*)
$ for file in "${files[@]::5}" ; do echo "$file" ; done
あいうえお
0000000000-11-005978.txt
0000000000-11-020832.txt
1
,123
这只会看看目录的第一个五个品:如果
for file in $(ls | head -5)
正如伊格纳西奥巴斯克斯 - 艾布拉姆斯点出,这仅适用于您的文件名不包含任何空格。 (他们可能不会,但事情要记住。)
除非其中一个在文件名中有空格。 – 2011-12-31 22:45:29
@ IgnacioVazquez-Abrams嗯,这是非常罕见的,虽然你是正确的。 – chrisaycock 2011-12-31 22:53:05
@chrisaycock:文件名中的空白不是非常罕见。 '用于$(ls -1 | head -5)中的文件“;做回声“$文件”;完成'做它应该做的事情。 – Dennis 2011-12-31 23:05:51
假设变量i未定义或0,当你进入循环,在循环中不使用,只需添加一行:
test $((++i)) -ge 5 && break
在循环体中。循环将在第5次迭代期间爆发,因此如果将该行放在循环体的末尾,那么您的命令将执行5次。如果你的外壳支持的话,你也可以使用更少的便携式
((++i >= 5)) && break
这里是另一种解决方案,只使用bash和没有外部工具:
let COUNT=0
for FILENAME in *
do
echo do something to $FILENAME
let COUNT=COUNT+1
if (($COUNT == "5")); then
break
fi
done
- 1. Foreach循环只有一次
- 2. Javascript for循环应循环两次,为什么只有一次?
- 3. while循环只循环一次
- 4. 如何只循环一次循环?
- 5. SQL中while循环只循环一次
- 6. Netlogo while while循环只有一次
- 7. PHP循环:重复只有一次
- 8. ScheduledExecutorService只循环一次
- 9. 循环只运行一次
- 10. Java while循环跳过行,每2个循环做一次
- 11. PHP while while循环,第二个循环只运行一次
- 12. 虽然循环只打印一次而不是整个循环
- 13. 循环数据 - 循环两次只加载一个数据
- 14. Perl while while循环只在for循环中循环一次
- 15. 如何循环一个对象一次给我5个项目?
- 16. Youtube的iframe循环只循环2次
- 17. 遍历循环在HTML和JavaScript只执行一次 - 应该在做循环中的每一次
- 18. 做一个循环ViewPager
- 19. 只触发一个循环,连续5个文件
- 20. 做while循环:在循环内执行一次
- 21. 时间数组只有一个循环
- 22. 在for循环中只打印一次
- 23. Tensorflow while while循环只运行一次
- 24. MySQL查询只循环一次
- 25. 只使用while循环一次
- 26. 嵌套while循环只迭代一次
- 27. Java循环只运行一次
- 28. 我的循环只经过一次
- 29. Python for循环只执行一次?
- 30. 嵌套for循环只迭代一次
以何种方式不限制环路5迭代使其“不是真正的循环”? – 2011-12-31 22:58:49
还有'seq'命令。 – fge 2012-01-01 12:50:21