我在文本文件中有数据,如val1,val2有多行 我想把它改为1,val1,val2,0,0,1
我尝试在awk(solaris)中使用print语句来添加常量,因为它不起作用。
这样做的正确方法是什么?
(来自评论)这是我试过的
awk -F, '{print "%s","1,"$1","$2"0,0,1"}' test.txt
答案 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