我在文本文件中有数据,例如 val1,val2 多行,我想将其更改为 1,val1,val2,0,0,1
我尝试在 awk(solaris) 中使用 print 语句来添加常量,但它不起作用。
正确的方法是什么?
(来自评论)这就是我尝试过的
awk -F, '{print "%s","1,"$1","$2"0,0,1"}' test.txt
根据您发布的命令,稍作改动即可:
$ 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
并附加,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
使用sed
:
sed 's/.*/1,&,0,0,1/' inputfile
例子:
$ echo val1,val2 | sed 's/.*/1,&,0,0,1/'
1,val1,val2,0,0,1