gpt4 book ai didi

bash shell 脚本 : How to group argument list into N items?

转载 作者:行者123 更新时间:2023-11-29 09:36:41 25 4
gpt4 key购买 nike

这里的用例是我想获取一组文件,例如 * 并在循环中用它们构建 arglists,一次 N。例如,

$ ls 
a.jpg
b.jpg
v.jpg
z.jpg
123.jpg
1234.jpg

N 这里是两个,我想运行例如command a.jpg b.jpg, command v.jpg, z.jpg

我该怎么做?

for file in *; do
command [???]
done

它不必使用 for 循环。希望有一个我还不知道的 UNIX 实用程序能够稍微重新安排 arg 列表。或者,也许我必须使用 trIFS 做一些有趣的事情。

如果我的文件是用数字命名的,或者如果我只想使用数字而不是对全局扩展文件进行操作(此示例有 N = 3),那么我可以这样做:

for number in {0..10..3}; do
echo $number $((number + 1)) $((number + 2))
done

这产生...

0 1 2
3 4 5
6 7 8
9 10 11

最佳答案

请参阅 xargs 及其 -n 选项。

ls | xargs -n3 command

如果您的文件名包含空格,您可能需要 -0 选项和使用 -print0find 来列出文件。

关于bash shell 脚本 : How to group argument list into N items?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com