我对此很陌生,并尝试遍历大约 19000 个文件(全部在一个目录中),以便在每个文件的每一行的开头插入相应的文件名。
稍后我将连接这些文件以获得一个包含我分析所需的所有数据的文件。
文件名显示以下模式:
V_foo_V_bar
每个文件名中的两个 V_
部分是不变的。其余各不相同。
我试过:
for f in V*; do awk '{print "$f" $} file
我在 $f
两边加括号和不加括号的情况下都没有用。
带括号的字符串 $f
被插入到文件名中
没有括号,什么都不插入
非常感谢您的帮助,因为我已经尝试了其他几个同样无用的想法,而且沮丧敲响了我的门
非常感谢。
最佳答案
要在每个文件的每一行的开头插入文件名,请尝试如下操作:
awk '{print FILENAME, $0}' V*
FILENAME
是一个带有文件名的内置变量。
V*
将通配到您目录中的所有文件。
如果你想在名称和行之间放置一个分隔符,你可以这样做:
awk '{print FILENAME " : " $0}' V*
关于linux - 将文件名添加到制表符分隔文件中每一行开头的循环(从而生成一个新列)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21943458/