2016-08-19 5 views
0

私は既存のcsvファイルを持っています.csvファイルを修正し、ファイルの最初の列にfilenameを入れたいと思います。 awk '{if($0) printf("%s,%s\n", FILENAME, $0); else print FILENAME;}' file.csv既存のcsvファイルの最初の列にファイル名を含める方法

file.csvになり、入力ファイル名です

Example 
file.csv 

1,love,anger 

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

は、我々はそれが同じくらい簡単ですAWKまたはUNIXで

事前にどうもありがとう

+0

を対処するための条件を追加するコマンドを変更しました。これと他の多くのテキスト操作の問題を解決する方法については、Arnold RobbinsのEffective Awk Programming、第4版を参照してください。それを読んで問題を解決しようとした後、ご質問があればお知らせください。 –

答えて

0

を1つのライナーを使用してそれを行うことができます。

UPD:私が正しくはいそれができる空行で

1

別の1

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

ニース、私の変種よりも短い。 '-F、' –

+0

を削除することもできます。フィールドセパレータは必要ありません。削除してください。 – karakfa

関連する問題