我想在awk命令中将分隔符替换为制表符空间,我在下面提到了我的期望。
输入
~1~2~3~
输出
1 2 3
这对我不起作用
awk -F"~" '{ OFS ="\t"; print }' inputfile
答案 0 :(得分:6)
这对tr来说真的很重要:
tr '~' '\t'
但是在awk中你只需要通过将其中一个字段分配给它自己的值来强制重新编译记录:
awk -F'~' -v OFS='\t' '{$1=$1}1'
答案 1 :(得分:3)
awk NF=NF FS='~' OFS='\t'
结果
1 2 3
答案 2 :(得分:2)
sed的代码:
$echo ~1~2~3~|sed 'y/~/\t/'
1 2 3