2017-09-22 44 views
-2

我有多個文件,我需要將文件名作爲新字段放入每個通訊文件中。使用perl或shell將文件名插入到相同文件中

例子:

My directory 

Sample1.txt Sample3.txt 
Sample2.txt Sample4.txt 

我到每一個文件 頭Sample1.txt

hg1 1 20 
hg1 40 60 

我需要爲每個文件

head Sample1.txt 

hg1 1 20 Sample1 
hg1 40 60 Sample1 

我可以手動進行,但我有一堆文件。有人可以幫我使用循環來製作所有文件嗎?

謝謝

回答

0
#!/bin/bash 

for vari in $(ls test?); do 
    gawk -v fname=$vari '{print $0 " " fname}' $vari > $vari.bak 
    mv -f $vari.bak $vari 
done 

在上面的例子中,我使用的測試? ;最終的答案需要文件名稱模式或字面意義上的輸入文件列表。這是有效的。

相關問題