Linux 使用AWK将列添加到TSV(选项卡分隔文件)
我想使用awk在选项卡分隔文件的开头添加一列,这样Linux 使用AWK将列添加到TSV(选项卡分隔文件),linux,bash,sed,awk,Linux,Bash,Sed,Awk,我想使用awk在选项卡分隔文件的开头添加一列,这样 col1 col2 col3 结果会是 345 col1 col2 col3 到目前为止,我有这个 awk '{FS=" "; OFS=" "; print '345' $0;}' file.tsv > output.tsv 但我最终还是 345col1 col2 col3 我哪里做错了 谢谢您需要在“345”后面加一个逗号您只需执行以下操作: awk '{print "34
col1 col2 col3
结果会是
345 col1 col2 col3
到目前为止,我有这个
awk '{FS=" "; OFS=" "; print '345' $0;}' file.tsv > output.tsv
但我最终还是
345col1 col2 col3
我哪里做错了
谢谢您需要在“345”后面加一个逗号您只需执行以下操作:
awk '{print "345\t"$0}' file.tsv > output.tsv
此awk应在以下情况下工作:
awk '{FS=OFS="\t"; print '345', $0}' file
编辑:使用od在OSX上输出,以证明其在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
这可能适用于您(GNU-sed):
请参阅上面的编辑部分,以验证它是否在OSX上工作。
sed 's/^/345\t/' file