複数のファイルを含むフォルダがあります。
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