我想使用awk在选项卡式分隔文件的开头添加一列,所以像
这样的行col1 col2 col3
最终会像
一样345 col1 col2 col3
到目前为止,我有这个
awk '{FS=" "; OFS=" "; print '345' $0;}' file.tsv > output.tsv
但我最终还是
345col1 col2 col3
我哪里错了?
由于
答案 0 :(得分:2)
'345'后需要逗号
答案 1 :(得分:0)
您可以这样做:
awk '{print "345\t"$0}' file.tsv > output.tsv
答案 2 :(得分:0)
这个awk应该可以工作:
awk '{FS=OFS="\t"; print '345', $0}' file
编辑:在OSX上输出od,以证明它适用于OSX:
$> awk '{FS=OFS="\t"; print '345', $0}' file|od -c
0000000 3 4 5 \t c o l 1 \t c o l 2 \t c o
0000020 l 3 \n
0000023
$> uname -a
Darwin US143639.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 i386
答案 3 :(得分:0)
这可能适合你(GNU sed):
sed 's/^/345\t/' file