2017-09-22 42 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 

在上面的例子中,我使用的测试? ;最终的答案需要文件名称模式或字面意义上的输入文件列表。这是有效的。

相关问题