多くのCSVファイルがあり、各ファイルの各行に各特定のCSVファイルのファイル名が必要です。
元のファイルの内容abc123.csv
:
ColVal_1;ColVal_2;ColVal_3
ColVal_4;ColVal_5;ColVal_6
新しいファイルコンテンツ:
ColVal_1;ColVal_3;ColVal_3;abc123.csv
ColVal_4;ColVal_5;ColVal_6;abc123.csv
すべてのCSVファイルは同じディレクトリにあります。各ファイルの名前を指定したくありません。
ベストアンサー1
sed
より簡単で、より簡単で、より速く使用できますxargs
。ここでは、sed
追加のシェルツールを避けるために内部編集が使用されます。
$ ls file{1..5}.txt|xargs -I% sed -i 's/$/;%/' %
これが出力です。
$ cat file{1..5}.txt
ColVal_1;ColVal_2;ColVal_3;file1.txt
ColVal_4;ColVal_5;ColVal_6;file1.txt
ColVal_1;ColVal_2;ColVal_3;file2.txt
ColVal_4;ColVal_5;ColVal_6;file2.txt
ColVal_1;ColVal_2;ColVal_3;file3.txt
ColVal_4;ColVal_5;ColVal_6;file3.txt
ColVal_1;ColVal_2;ColVal_3;file4.txt
ColVal_4;ColVal_5;ColVal_6;file4.txt
ColVal_1;ColVal_2;ColVal_3;file5.txt
ColVal_4;ColVal_5;ColVal_6;file5.txt