我有多个文件,我需要将文件名作为新字段放入每个对应的文件中。
示例:
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
我可以手动制作,但我有一堆文件。有人可以帮我使用循环为所有文件制作它吗?
谢谢
最佳答案
#!/bin/bash
for vari in $(ls test?); do
gawk -v fname=$vari '{print $0 " " fname}' $vari > $vari.bak
mv -f $vari.bak $vari
done
在上面的例子中,我使用了test? ;最终答案需要文件名模式或字面上的输入文件列表。这有效。
关于linux - 使用 perl 或 shell 将文件名插入到同一文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46372452/