Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Join 提取每个子文件夹中的文本文件,并使用子文件夹名称将它们连接起来_Join_Iteration_Batch Processing_Tar_Cat - Fatal编程技术网

Join 提取每个子文件夹中的文本文件,并使用子文件夹名称将它们连接起来

Join 提取每个子文件夹中的文本文件,并使用子文件夹名称将它们连接起来,join,iteration,batch-processing,tar,cat,Join,Iteration,Batch Processing,Tar,Cat,我在以下文件夹结构中压缩了文本文件: ~/A/1/1.faa.tgz #each tgz file has dozens of faa text files ~/A/2/2.faa.tgz ~/A/3/3.faa.tgz 我想从每个tgz文件中提取faa文件(文本),然后使用子文件夹名(1、2和3)将它们连接起来,为每个子文件夹创建一个文本文件 我的尝试如下,但文件是在我运行脚本的文件夹中提取的: #!/bin/bash for FILE in ~/A/*/*.faa.tgz; do tar

我在以下文件夹结构中压缩了文本文件:

~/A/1/1.faa.tgz #each tgz file has dozens of faa text files
~/A/2/2.faa.tgz
~/A/3/3.faa.tgz
我想从每个tgz文件中提取faa文件(文本),然后使用子文件夹名(1、2和3)将它们连接起来,为每个子文件夹创建一个文本文件

我的尝试如下,但文件是在我运行脚本的文件夹中提取的:

#!/bin/bash

for FILE in ~/A/*/*.faa.tgz; do
tar -vzxf "$FILE"
done
在提取faa文件后,我将使用“cat”加入它们(例如,使用cat*.faa>.txt)

提前感谢。

要提取: #!/bin/bash

for FILE in ~/A/*/*.faa.tgz; do
    echo "$FILE"
    mkdir "`basename "$FILE"`"
    tar -vzxf "$FILE" -C "`basename "$FILE"`"
done
加入:

#!/bin/bash
for dir in ~/A/*/; do
(
    cd "$dir"
    file=( *.faa )
    cat "${file[@]}" > "${PWD##*/}.txt"
    )
done