【发布时间】:2018-09-19 02:51:55
【问题描述】:
这就是我想要做的......我想编写一个脚本,它将文件夹中的所有文件作为command2的输入发送。
我知道管道用于将一个命令的输出发送到另一个命令,但就我而言,当我这样做时
ls | command
它的作用是将 ls 的输出(即文件夹中的所有文件)作为单个输入发送。相反,我希望将单个文件作为参数一个一个地发送给 command2。
谁能帮帮我,我确实搜索了很多,但没有找到太多。
【问题讨论】:
-
find或目录中的文件循环可能会更好地完成您尝试做的任何事情。这是ls中的generally considered a bad idea to parse the output -
在这种特殊情况下,当然,简单的
command *更好,并避免parsinglsoutput -
@Sonamor :我理解的问题是 OP 想要调用 command 多次,每个输入文件一次。
-
@ChintanMehta:
echo *|xargs -n 1 your_command怎么样?请注意,在这种情况下,your_command 不会通过标准输入获取(单个)文件名,而是作为命令行参数。
标签: bash shell terminal sh executable