0

我想在 awk 命令中将分隔符波浪号替换为制表符空间,我在下面提到了我的期望。

输入

~1~2~3~

输出

	1 2 3	

这对我不起作用

awk -F"~" '{ OFS ="\t"; print }' inputfile
4

3 回答 3

7

这确实是 tr 的工作:

tr '~' '\t'

但是在 awk 中,您只需要通过将字段之一分配给它自己的值来强制重新编译记录:

awk -F'~' -v OFS='\t' '{$1=$1}1'
于 2013-07-06T12:02:42.143 回答
3
awk NF=NF FS='~' OFS='\t'

结果

	1 2 3	
于 2013-07-06T08:00:24.263 回答
2

的代码:

$echo ~1~2~3~|sed 'y/~/\t/'
    1       2       3
于 2013-07-06T08:07:33.497 回答