我有一个文件:
AWK question about the example
此命令效果很好:
awk '{ gsub(/...../, "&\n" ) ; print}' file
AWK q
uesti
on ab
out t
he ex
ample
为什么此命令不会打印相同的结果?
awk '{ gsub(/.{5}/, "&\n" ) ; print}' file
AWK question about the example
为什么此命令不会打印相同的结果?
awk -v WIDTH=5 '{ gsub(".{"WIDTH"}", "&\n"); print }' file
AWK question about the example
答案 0 :(得分:7)
要使用{5}
,您需要启用re-interval
,如下所示:
awk --re-interval '{ gsub(/.{5}/, "&\n" ) ; print}' file
awk -v WIDTH=5 --re-interval '{ gsub(".{"WIDTH"}", "&\n"); print }' file
你也可以使用--posix
,但它会禁用awk
中的其他功能
awk -v WIDTH=5 --posix '{ gsub(".{"WIDTH"}", "&\n"); print }' file
答案 1 :(得分:5)
您可以使用fold
命令代替awk
:
fold -w 5 input
或者如果您没有文件中的输入:
echo 'AWK question about the example' | fold -w 5
两者都给:
AWK q
uesti
on ab
out t
he ex
ample