我有以下目录:
P922_101
P922_102
.
.
每个目录,例如 P922_101 都有以下子目录:
140311_AH8MHGADXX 140401_AH8CU4ADXX
每个子目录(例如140311_AH8MHGADXX)都包含以下文件:
1_140311_AH8MH_P922_101_1.fastq.gz 1_140311_AH8MH_P922_101_2.fastq.gz
2_140311_AH8MH_P922_101_1.fastq.gz 2_140311_AH8MH_P922_101_2.fastq.gz
140401_AH8CU4ADXX 中的文件是:
1_140401_AH8CU_P922_101_1.fastq.gz 1_140401_AH8CU_P922_4001_2.fastq.gz
2_140401_AH8CU_P922_101_1.fastq.gz 2_140401_AH8CU_P922_4001_2.fastq.gz
我想通过以下方式对子目录中的文件进行“cat”:
cat 1_140311_AH8MH_P922_101_1.fastq.gz 2_140311_AH8MH_P922_101_1.fastq.gz
1_140401_AH8CU_P922_101_1.fastq.gz 2_140401_AH8CU_P922_101_1.fastq.gz > P922_101_1.fastq.gz
这意味着以 _1.fastq.gz 结尾的文件应连接到一个文件中,以 _2.fatsq.gz 结尾的文件应连接到另一个文件中。
应该对所有目录中子目录中的所有文件运行它。有人可以提供一个 linux 解决方案来做到这一点吗?
最佳答案
由于它们是压缩的,您可能应该使用gzip -dc
(解压缩并写入标准输出)-
find /somePath -type f -name "*.fastq.gz" -exec gzip -dc {} \; | \
tee -a /someOutFolder/out.txt
关于linux - 使用linux命令在子目录中cat文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25810731/