1

複数行の val1,val2 のようなテキスト ファイルにデータがあり、それを 1,val1,val2,0,0,1 に変更したい

awk(solaris) で print ステートメントを使用して定数を追加しようとしましたが、うまくいきませんでした。

それを行う正しい方法は何ですか?


(コメントより)これは私が試したことです

awk -F, '{print "%s","1,"$1","$2"0,0,1"}' test.txt 
4

3 に答える 3

3

投稿したコマンドに基づいて、少し変更すると次のようになります。

$ awk -F, 'BEGIN{OFS=FS} {print 1,$1,$2,0,0,1}' file
1,val1,val2,0,0,1

または使用printf(私が好むprint):

$ awk -F, '{printf "1,%s,%s,0,0,1", $1, $2}' file
1,val1,val2,0,0,1
于 2013-09-30T14:56:02.767 に答える
2

すべての行の先頭に定数1を追加して追加するには、次のように0,0,1します。

$ awk '{print 1,$0,0,0,1}' OFS=, file
1,val1,val2,0,0,1

慣用的な方法は次のとおりです。

$ awk '$0="1,"$0",0,0,1"' file
1,val1,val2,0,0,1
于 2013-09-30T14:56:32.610 に答える
1

使用sed:

sed 's/.*/1,&,0,0,1/' inputfile

例:

$ echo val1,val2 | sed 's/.*/1,&,0,0,1/'
1,val1,val2,0,0,1
于 2013-09-30T14:57:27.720 に答える