1

我想用 awk 操作字符串。

现在查看我正在使用的 awk 上的当前记录$0,这工作正常:

echo "foobar" | awk -v FS="" '{print $0 }'

我的输出是

foobar

现在我想用第五个字符替换我的第二个字符:

echo "foobar" | awk -v FS="" '{$2=$5; print $0 }'

它可以工作,但会在每个字符后添加空格:

f a o b a r

所以我的问题是为什么 awk 在每个字符之后添加空格,以及如何做到这一点?

4

1 回答 1

2

将 OFS(输出字段分隔符)设置为空:

$ echo "foobar" | awk -v FS="" '{$2=$5; print $0 }' OFS=""
faobar
于 2013-01-13T15:16:34.313 回答