Bashループを使用してファイルをマージするのに役立ちます

Bashループを使用してファイルをマージするのに役立ちます

私はbashに初めてアクセスし、次のようにマージしたいテキスト(.txt)ファイルのリストがあります。

1.unmapped.F.fq
1.unmapped.R.fq
1.unmapped.s.fq
2.unmapped.F.fq
2.unmapped.R.fq
2.unmapped.s.fq

F / R / sファイルをマージして次のような出力を生成したいと思います。

1.unmapped.all.fq
2.unmapped.all.fq

同様のアプローチを使用して、Rでより単純な名前のファイルをマージしました。

for(i in 1:10){
  data <- paste0("A.",i)
  assign(paste0("data",i), read.csv(data))
}

しかし、入力が変化し続ける2つの場所(1/2とF / R / s)があるか、ループが最善の方法なので、bashでこれを行う方法がわかりません。

答え1

私が正しく理解したら、次のことを試してください。

for i in {1..2}; do # 1 to 2 just to match with the sample posted
  cat "$i".unmapped.{F,R,s}.fq >> "$i".unmapped.all.fq
done

関連情報