如何使用 for 循环合并下划线之前具有匹配字符/数字的两个文件?我的目录中有很多文件
输入:
SRR9200887_1.fastq
SRR9200887_2.fastq
SRR9200888_1.fastq
SRR9200888_2.fastq
SRR9200889_1.fastq
SRR9200889_2.fastq
Run Code Online (Sandbox Code Playgroud)
预期输出:
SRR9200887.fastq
SRR9200888.fastq
SRR9200889.fastq
Run Code Online (Sandbox Code Playgroud)
我的尝试:
for l in $(ls *.fastq | cut -d_ -f1 | sort |uniq); do cat ${l}*.fastq
Run Code Online (Sandbox Code Playgroud)
及其bash参数扩展:
for i in *_1.fastq; do
cat "${i%_*.fastq}_1.fastq" "${i%_*.fastq}_2.fastq" > "${i%_*.fastq}.fastq";
done
Run Code Online (Sandbox Code Playgroud)
${i%_*.fastq}输出$i没有_和所有跟随它的,例如SRR9200887。