0

我有多对仅在一个数字上不同的文件:

121_S11_L001_R1_001

121_S11_L001_R2_001

另一对相对于其他文件,在多个数字上不同,但相对于它的对,同样只有一个数字:

120_S10_L001_R1_001

120_S10_L001_R2_001

我有一个 bash 脚本来单独处理这些文件:

如果 [ -s $infile ] && [ !-s $infile.bwa ]; 然后

echo "Creating BWA file..."
time bwa aln $path"Genomeidx" $infile > $infile.bwa
time bwa aln $path"Genomeidx" $infile2 > $infile2.bwa

其中 'infile' 和 'infile2' 是在命令行上指定的文件

我如何递归地选择和处理每对的每个文件,而不是手动输入每一对?

4

1 回答 1

2

您可以使用 bash 通配符来挑选所有_R1_样式文件,然后找到它的对。

像这样的东西可以适应你的处理:

#!/bin/bash

for file in *_R1_*; do
    pair=${file/_R1_/_R2_}
    if [ -f "$pair" ]; then
        echo "processing $file and its pair $pair"
    fi
done
于 2013-02-20T04:53:34.410 回答