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