簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM