似たような名前パターンを持つ100個のファイルがペアになっています。つまり、ファイル名は "A0-B1.fastq.0.1.82.fastq" & "A0-B2 .fastq.0.1.82.fastq "であり、ここでB0およびB1は2つの異なる対を示す。ファイル名中の「82」は乱数を表す。ディレクトリには82から100の範囲の乱数を持つファイルがあります。したがって、すべての乱数に対して、2組のファイル(A0-B1とA0-B2)があります。 それぞれの乱数ごとに両方のペアをマージしたいと思います。ここでファイル名を反復処理し、パターンに従ってマージします。
は、私が試したものです:
INPUT=`ls A0-*.0.1.*.fastq`
#set values for pair and random
p=`seq 1 1 2`
r=`seq 82 2 100`
for r in $INPUT;
do
cat A0-${p}.fastq.0.1.${r}.fastq > A0.merged.${r}.fastq
done
は、私が正しい出力を得るために何をしないのです??
@anishsane 'テスト-f'があれば、多重パスを失敗する可能性があり、その場合にはグロブが、そこにある場合を除き名前が拡張されます。 'test -f *'を試してみてください – andlrc
OK ...実際OPのスクリプトを見て、私はOPに値1と2を取る$ pを持つファイル名が固定されていると思ったので、globは必要ありません。しかし、正しいですが、-fはグロブに使用されると失敗します。 – anishsane
助けてくれてありがとう。それは完全に働いた。 – RonnB