原始测试文件:
我想使用Unix中的awk和gSub函数在CSV文件中的所有列的末尾添加一个新列(CSV文件名)。
输入数据(文件名est.csv):
col1,col2,col3
ab, cd, ef
gh, ij, kl
mn, op,qr
输出文件应如下所示:
col1,col2,col3,test.csv
ab,cd,ef,test.csv
gh,ij,kl,test.csv
mn,op,qr,test.csv
我已经尝试使用以下代码:
awk '{gsub(/ /,",",B1a2a1b);print B1a2a1b,",",FILENAME > "test.csv"}' test.csv
使用此选项后,文件名将追加到第二列而不是最后一列:
它可以很好地处理.txt文件,但不能处理.csv文件;我的要求是处理这两种类型的文件以在末尾附加文件名。
1条答案
按热度按时间tktrz96b1#
一些展示出来的努力本来是很好的,但:
将输出重定向到临时文件,然后用它替换原始文件。