
このようなファイルがいくつかあります。
BR1.txt
NH1.csv
BR2.txt
NH2.csv
BR3.txt
NH3.csv
それぞれをファイルBR
にリンクしたいと思います。NH
答え1
これはおそらくあなたが望むものです:
for br in BR*.txt; do
num="${br#BR}"
num="${num%.*}"
nh="NH${num}.csv"
cat "$br" "$nh" > "out${num}.txt"
done
ただし、サンプル入力/出力がない場合、これは推測です。
答え2
set -- BR*.txt
count=0
for name in NH*.csv; do
count=$(( count + 1 ))
cat "$1" "$name" >"file$count"
shift
done
まず、位置引数リストをfileに設定してからファイルをBR
繰り返します。の各ファイル名NH
に対して、次のファイルを連結し、その結果を名前付きファイルに記録し、その後に数字が付きます。これを使用すると、次の繰り返しの次のファイルになります。NH
$name
BR
file
shift
$1
BR
BR
NH
これは、2つのファイルセットの数が同じで、同じ番号付けシステムに従うと仮定して(正しい方法でソートされるように)、各ファイルをそのファイルに効果的に関連付けます。