如何在*nix shell中一次执行一个参数的命令?

Kei*_*rup 1 unix linux command-line grep find

例如svn log之类的命令只会从命令行中获取一个输入,所以我不能说grep 'pattern' | svn log.它只返回第一个文件的信息,所以我需要独立地对每个文件执行svn log.

我可以使用它的exec选项找到它: find -name '*.jsp' -exec svn log {} \;.但是,grep和find提供了不同的功能,-exec选项不适用于grep或许多其他工具.

那么是否有一种通用的方法来从unix命令行工具中获取输出并让它对每个单独的输出执行任意命令,就像find一样?

小智 9

答案是xargs -n 1.

echo moo cow boo | xargs -n 1 echo
Run Code Online (Sandbox Code Playgroud)

输出

moo
cow
boo