linux - 使用linux命令在子目录中cat文件

标签 linux cat

我有以下目录:

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/

相关文章:

c - IPC管道通过文件/dev/ttyS0和/dev/ttyS1

Python - 我如何将长命令添加到子进程,当我在一行中应用时,整个命令不起作用

linux - 如何实现一个新的shell命令?

linux - bash 猫多个文件

Bash 目录中的 cat 文件到一个文件中,在内容之前插入文件名

linux - 用两个 QGraphicsSimpleTextItem-s 制作一个 QGraphicsItemGroup?

linux - 不知道如何在 ubuntu 中挂载文件系统

git - `cat-file`在git中代表什么?

linux - 将文件内容复制到目标文件。在目标文件中最后一次匹配模式之后。原始文件的内容显示在目标文件的下一行

c - 如何使用c实现 'cat'命令的squeeze功能?