![](/img/trans.png)
[英]Passing multiple arguments from input file, to a command multiple times (Bash)
[英]Bash input for multiple file
我有成千上萬的兩組文件,一組以name.ext為文件名,另一組以name.ext.in結尾的文件名,所以對於每個name.ext都有一個name.ext.in,現在我必須將此作為參數傳遞給a腳本,例如customise.pl name.extname.ext.in。 我在做
#!/bin/bash
FILE1=$.ext
FILE2=$.ext.in
customise.pl $FILE1 $FILE2
但沒有成功。 任何想法?
for i in *.ext; do
customise.pl "$i" "$i.in"
done
從評論到其他答案,您可能想要這樣的東西:
for file in *.ext; do
customise.pl "$file" "${file%.*}.new.psl"
done
${file%.*}
語法僅替換$file
的最后一個點。 如果需要,您可以查看Bash或Dash的手冊頁以獲取更多信息。
如果要為每對文件運行customise.pl,則可以在bash腳本中執行以下操作:
#!/bin/bash
for i in `ls *.ext`
do
customise.pl $i $i.in
done
我想最簡單的形式是
for f in "*.ext"
do
customise.pl $f.ext $f.ext.in
done
輸出:
其他方式。
ls *.ext |xargs -i customise.pl {} {}.in
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.