說我有以下文件執行多個文件的命令:使用命令行
myfile1_1.dat
myfile1_2.dat
myfile2_1.dat
myfile2_2.dat
...
,我想對他們每個人(使用相同的命令,而在不開始目錄忽略了其他文件與myfile
)。有沒有一個簡單的方法來做到這一點?
到目前爲止,我一直在玩弄通配符:
mycommand myfile*.dat
編輯:我使用Linux和MinGW的
說我有以下文件執行多個文件的命令:使用命令行
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 HTTP://mywiki.wooledge。 org/ParsingLs – kojiro 2013-04-10 11:22:48
我必須抗議'xargs'例子,理由是讀者可能不知道文件名將被分割爲空白。 OP的示例文件可能是免疫的,但未來的讀者可能不會。使用循環,盧克。 – kojiro 2013-04-10 11:22:28