Unix 如何在现有csv文件的第一列中包含文件名
我有现有的csv文件。我想修改csv文件并在文件的第一列中包含文件名Unix 如何在现有csv文件的第一列中包含文件名,unix,awk,Unix,Awk,我有现有的csv文件。我想修改csv文件并在文件的第一列中包含文件名 Example file.csv 1,love,anger Modified csv file.csv file.csv,1,love,anger 我们可以在awk或unix中使用一个行程序吗 事先非常感谢这就像:awk'{if($0)printf(“%s,%s\n”,FILENAME,$0);else print FILENAME;}'file.csv一样简单 其中file.csv是输入文件名 UPD.:我修改了命令添
Example
file.csv
1,love,anger
Modified csv
file.csv
file.csv,1,love,anger
我们可以在awk或unix中使用一个行程序吗
事先非常感谢这就像:
awk'{if($0)printf(“%s,%s\n”,FILENAME,$0);else print FILENAME;}'file.csv一样简单
其中file.csv是输入文件名
UPD.:我修改了命令添加条件以正确处理空行
$ awk '{print FILENAME (NF?",":"") $0}' file
不错,比我的变种短。您甚至可以删除
-F,
是的,它可以。请参阅Arnold Robbins的《有效的Awk编程》,第四版,了解如何解决此问题和许多其他文本操作问题。在您阅读并试图解决问题后,如果您有任何问题,请告诉我们。