我有多个文件,我需要将文件名作为新字段放入每个通讯文件中。
示例:
My directory
Sample1.txt Sample3.txt
Sample2.txt Sample4.txt
我已进入每个文件 head Sample1.txt
hg1 1 20
hg1 40 60
我需要每个文件
head Sample1.txt
hg1 1 20 Sample1
hg1 40 60 Sample1
我可以手动制作,但我有一堆文件。有人可以帮助我使用循环为所有文件制作吗?
谢谢
答案 0 :(得分: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
在上面的例子中,我用过测试? ;最后的答案需要文件名模式或字面上的输入文件列表。这有效。