同じ名前のファイルをマージする方法

同じ名前のファイルをマージする方法

同じ名前のファイルをマージする方法を知りたいです。

たとえば、フォルダに次のファイルがあります。

1081713FHN-NA.one_.txt
1081713FHN-NA.second_.txt
1081713UEN-NA.one_.txt
1081713UEN-NA.second_.txt

最初の2つを1つの出力ファイルにマージし、最後の2つを別の出力ファイルにマージしたいと思います。

答え1

希望の出力がどのようなものかを知らないと少し難しいですが、私が知っている限り、2つのステップがあります。ステップ1:ファイルを選択し、ステップ2:ファイルをマージします。これが最初のステップを実行する方法です。

# loop through your one_ files
for file1 in *-NA.one_.txt; do
    # get your second_ files
    file2=${file1/one_/second_}
    # cat them together
    cat $file1 $file2 > cat.$file1
    # or paste
    paste $file1 $file2
done

答え2

for file in `ls`|cut -d"-" -f1
do
  cat ${file}-* > ${file}
done

cat同じディレクトリに別のファイルがないと仮定すると、名前プレフィックスは同じファイルを取得し、同じプレフィックスを持つファイルに出力を送信します。

関連情報