awk添加常量值

时间:2013-09-30 14:49:17

标签: shell awk solaris

我在文本文件中有数据,如val1,val2有多行 我想把它改为1,val1,val2,0,0,1

我尝试在awk(solaris)中使用print语句来添加常量,因为它不起作用。

这样做的正确方法是什么?


(来自评论)这是我试过的

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

3 个答案:

答案 0 :(得分:2)

根据您发布的命令,稍作改动:

$ 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

答案 1 :(得分: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

答案 2 :(得分:1)

使用sed

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

示例:

$ echo val1,val2 | sed 's/.*/1,&,0,0,1/'
1,val1,val2,0,0,1