2016-08-19 42 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

相關問題