awk:for循环输出文件名
简单来说,有file1.txt, file2.txt, file3.txt
file1.txt如下:
1 a 4
d d g
file2.txt如下:
2 b g
6 9 0
file3.txt如下:
g h g
0 8 h
我现在想把这三个文件的第二列和各自对应的文件名都打印出来,并且追加到一个文件,命名为all.txt
all.txt的内容如下所示:
a file1.txt
d file1.txt
b file2.txt
9 file2.txt
h file3.txt
8 file3.txt
如何实现上方的需求呢,这里提供两种方法。
第一种,是加上FILENAME方式。
比如。
for i in *.txt
do
echo $i
awk ' {print $2,FILENAME}' >> all.txt
done
第二种。是不加FILENAME方式。
for i in *.txt
do
echo $i
awk ' {print $2,"'"${i}"'"}' >> all.txt
done
本文来自博客园,作者:橙子牛奶糖(陈文燕),转载请注明原文链接:https://www.cnblogs.com/chenwenyan/p/12009361.html