Unixにファイルを貼り付ける

Unixにファイルを貼り付ける

複数のファイルを含むフォルダがあります。

W1747_RH_sig_window_outliers_g_chrom
W1747_RH_sig_window_outliers_g_pos
W1747_RH_sig_window_snps_g_chrom
W1747_RH_sig_window_snps_g_pos
W19173_RH_sig_window_outliers_g_chrom
W19173_RH_sig_window_outliers_g_pos

W1747_RH_sig_window_outliers_g_chromどちらもW1747_RH_sig_window_outliers_g_pos単一のファイルに対応するW1747_RH_sig_window_outliers_gか、W1747_RH_sig_window_snps_g_chrom両方を貼り付けたいW1747_RH_sig_window_snps_g_posのです。W1747_RH_sig_window_snps

paste W1747_RH_sig_window_outliers_g_chrom W1747_RH_sig_window_outliers_g_pos > W1747_RH_sig_window_outliers_vcf. txt
paste W1747_RH_sig_window_snps_g_chrom W1747_RH_sig_window_snps_g_pos > W1747_RH_sig_window_snps_vcf.txt

しかし、200以上のファイルがあるため、これを行うのが困難です。たとえば、ループで実行するなどの簡単な方法はありますか?

答え1

POSIXシェルの使用:

for file in *_g_chrom; do
  base=${file%_g_chrom}
  paste -- "$file" "${base}_g_pos" > "${base}_vcf.txt"
done

関連情報