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