以下のようなCSV出力ファイルを作成するシェルスクリプトがあります(別々の行で):
aaa,111
bbb,222
ccc,999
上記の出力の最初の列として、次のようなレコード番号が必要です。
dm1,aaa,111
dm2,bbb,222
dm3,ccc,999
dm
シェル スクリプト内で変数を作成するにはどうすればよいですか?
使用awk
:
awk '{print "dm" NR "," $0}' input.csv >output.csv
また
... | awk '{print "dm" NR "," $0}' >output.csv
var と expr を使用して、次のような計算を行うことができます
dm=`expr $dm + 1`
echo "dm$dm,...rest of output..."
出力をパイプしますawk
yourcommand | awk -F, -v prefix="dm" '{printf "%s%d,%s\n", prefix, NR, $0}'
-F,
入力フィールドセパレーターを設定-v
するように設定し、プレフィックスを設定するように設定します。必要に応じて、「dm」をシェル変数に置き換えることができます。