実行時にパラメータを渡してLinuxのCSVファイルに列を追加したいと思います。
たとえば、私の入力ファイルのInput.csv
内容は次のとおりです。
abc,Nodes.csv
def,Nodes.csv
ghi,Nodes.csv
jkl,Nodes.csv
これで、次のスクリプトを実行するときに実行時にパラメータを渡したいと思います。./Datafile.sh CRE_ff
出力ファイルは次のようにする必要があります。
CRE_ff_Nodes_abc,abc,Nodes.csv
CRE_ff_Nodes_abc,def,Nodes.csv
CRE_ff_Nodes_abc,ghi,Nodes.csv
CRE_ff_Nodes_abc,jkl,Nodes.csv
ベストアンサー1
次のコマンドを作成できますcsvprepend
。
#!/usr/bin/gawk -f
BEGIN { field=ARGV[1]; delete ARGV[1]; OFS=","}
{ print field,$0 }
そしてそれを使用してください:
$ chmod 755 cvsprepend # turn it in an executable command
$ cvsprepend "New field" old.csv
New Field,abc,Nodes.csv
New Field,def,Nodes.csv
詳細:
field=ARGV[1]; delete ARGV[1]
最初のコマンドライン引数を保存します。 〜のようにfield
OFS=","
出力フィールド区切り記号の設定print field,$0
新しいフィールド、OFS、古いレコードを印刷します。