依次对200个文件夹中的.txt文件执行awk提取操作
发表于 : 2021-10-10 20:14
请问大家:
我有200个文件夹,每个文件夹里有4个.txt文件(file6.txt file7.txt file16.txt file17.txt),需要把每个文件夹里的4个.txt文件按列合并为1个file.txt,请问批量操作的代码怎么写?
我自己尝试写了个for嵌套循环,但是发现它只对第一个文件夹进行了合并操作,请问这是什么原因???
代码如下:
for i in *
do
for j in *.out
do
cd $i
awk 'NR==6{print $0}' $j >> file6.txt
awk 'NR==7{print $0}' $j >> file7.txt
awk 'NR==16{print $0}' $j >> file16.txt
awk 'NR==17{print $0}' $j >> file17.txt
paste file6.txt file7.txt file16.txt file17.txt > search_$i.txt
mv search_$i.txt /mnt/f/search_sum/
done
done
我有200个文件夹,每个文件夹里有4个.txt文件(file6.txt file7.txt file16.txt file17.txt),需要把每个文件夹里的4个.txt文件按列合并为1个file.txt,请问批量操作的代码怎么写?
我自己尝试写了个for嵌套循环,但是发现它只对第一个文件夹进行了合并操作,请问这是什么原因???
代码如下:
for i in *
do
for j in *.out
do
cd $i
awk 'NR==6{print $0}' $j >> file6.txt
awk 'NR==7{print $0}' $j >> file7.txt
awk 'NR==16{print $0}' $j >> file16.txt
awk 'NR==17{print $0}' $j >> file17.txt
paste file6.txt file7.txt file16.txt file17.txt > search_$i.txt
mv search_$i.txt /mnt/f/search_sum/
done
done