2016-08-19 61 views
0

我有现有的csv文件。我想修改csv文件并在文件的第一列中包含文件名。如何在现有csv文件的第一列中包含文件名

Example 
file.csv 

1,love,anger 

Modified csv 
file.csv 
file.csv,1,love,anger 

,我们可以做它用一个垫片,AWK或UNIX

感谢很多提前

+0

是的,它可以正确处理。请参阅Arnold Robbins的第4版Effective Awk Programming,了解如何解决此问题以及其他许多文本处理问题。在您阅读并尝试解决问题后,请告诉我们您是否有任何问题。 –

回答

0

这只是简单:awk '{if($0) printf("%s,%s\n", FILENAME, $0); else print FILENAME;}' file.csv

其中FILE.CSV输入文件名。

UPD:我修改命令附加条件与空行

1

另一个

$ awk '{print FILENAME (NF?",":"") $0}' file 
+0

不错,比我的变种更短。你甚至可以删除'-F,' –

+0

是的,不需要字段分隔符,删除。 – karakfa

相关问题