Файлы, сжатые с помощью gzip
, могут быть просто конкатенированы вместе (в сжатом виде), поэтому нет необходимости предварительно распаковывать файлы. Когда вы распакуете сжатый конкатенированный файл, вы получите конкатенированные несжатые данные. Это также верно, по крайней мере, для xz
.
Для конкатенации мы можем перебрать все файлы L001
, создать имя файла соответствующей пары и конкатенировать их в файл в новом каталоге:
mkdir output_dir
for name in *_L001_R1_001.fastq.gz; do
other="${name/_L001/_L002}"
cat "$name" "$other" >output_dir/"$name"
done
Здесь ${name/_L001/_L002}
заменит первое вхождение строки _L001
на _L002
в значении $name
, создав соответствующую пару файлов. Имя этого другого файла хранится в переменной $other
.
Эти два файла конкатенируются с помощью cat
, и результат записывается в новый файл в каталоге output_dir
. Исходные файлы остаются на месте.
Это предполагает наличие оболочки типа bash
или ksh93
, которая понимает ${параметр/шаблон/строка}
.