如何将bash命令分组为一个函数?

时间:2013-09-18 01:55:01

标签: linux shell

这是我想要实现的目标。我想在该文件上运行一系列命令,例如

ls * | xargs (cat - | calculateforfile)

我想分别在每个文件上运行(cat | calculateforthisfile)。基本上,如何将命令列表分组,就像它是一个单一的函数一样?

2 个答案:

答案 0 :(得分:1)

无需使用xargs。只需使用一个循环。您也不需要使用cat。只需将其输入重定向到文件即可。

for A in *; do
    calculateforfile < "$A"
done

作为一条线:

for A in *; do calculateforfile < "$A"; done

答案 1 :(得分:0)

如果您正在为此寻找xargs解决方案(例如查找命令)

find . -name "*.txt" | xargs -I % cat %

这会捕获当前目录下以.txt结尾的所有文件 -I选项是那里的关键