複数のファイルを含むディレクトリがあります。
たとえば、
ExperimentA_Rep1.bed
ExperimentA_Rep2.bed
ExperimentA_Rep3.bed
ExperimentB_Rep1.bed
ExperimentD_Rep1.bed
ExperimentC_Rep1.bed
ExperimentC_Rep2.bed
. . .
ExperimentZ_Rep5.bed
ディレクトリからファイル名を検索し、同じ実験のファイルをリンクしますが、別の複製を新しいファイルにリンクする必要があります。
つまり、cat ExperimentA_Rep1.bed ExperimentA_Rep2.bed > ExperimentA_merged.bed
しかし、ハードコードすることはできません。実験データセットで動作する必要があるからです。
Pythonスクリプトを実行しても問題ありません。
答え1
以下は、ファイル名のRep部分が1から順に番号付けされていると仮定します(つまり、Rep1もない場合はRep2またはRep3はありません)。これは、「Rep1」ファイルの存在を使用して、特定のExperiment *ファイルシリーズに対してcatを実行するかどうかを決定します。これは、ExperimentA * .. ExperimentZ *シーケンスにいくつかのファイルがない場合にのみ必要です。これが不可能な場合は、[ -e Experiment${f}_Rep1.bed ] &&
キャットラインから削除してください。
for f in {A..Z} ; do
[ -e Experiment${f}_Rep1.bed ] && cat Experiment${f}_Rep*.bed > Experiment${f}_merged.bed
done