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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM