使用命令行
问题描述:
说我有以下文件执行多个文件的命令:使用命令行
myfile1_1.dat
myfile1_2.dat
myfile2_1.dat
myfile2_2.dat
...
,我想对他们每个人(使用相同的命令,而在不开始目录忽略了其他文件与myfile
)。有没有一个简单的方法来做到这一点?
到目前为止,我一直在玩弄通配符:
mycommand myfile*.dat
编辑:我使用Linux和MinGW的
答
mycommand myfile*.dat
只有在mycommand
支持多个文件时才有效。如果没有,你可以使用xargs
到一个单一的文件传递给mycommand
,如下图所示:
echo myfile*.dat | xargs -n 1 mycommand
或者,使用一个循环:
for file in myfile*.dat; do
mycommand "$file"
done
答
如果你在Linux中这样做,我通常使用xargs -n1
ls | xargs -n1 echo File:
+1
-1 HTTP://mywiki.wooledge。 org/ParsingLs – kojiro 2013-04-10 11:22:48
我必须*'xargs'例子,理由是读者可能不知道文件名将被分割为空白。 OP的示例文件可能是免疫的,但未来的读者可能不会。使用循环,卢克。 – kojiro 2013-04-10 11:22:28