如何在AWK中更改现有的打印行


0

当我执行以下行时,它以换行方式打印单词。 awk'BEGIN {print“line one \ nline two \ nline three”}' 喜欢 第一行 第二行 第三行

如何在同一行中打印信息并刷新现有行。例如,在执行循环时,它应该打印'one'然后擦除线并打印'two'然后擦除线并打印'three'等等你能帮助我吗?

Answers:


1

使用回车而不是换行

awk 'BEGIN { print "line one\rline two\rline three" }' 

如果后续行比前一行短,则可以打印空格以消除余数:

awk 'BEGIN { print "this is a long line of text\rpad with spaces            " }' 

如果您使用单独的语句,那么您应该使用 printf 代替 print


0

您使用什么环境来查看输出?油灰? 您可能需要重新配置Putty以兑现\ n“newLines”。 或者如果你真的在Windows / DOS模式下,你需要

printf "line 1\r\nline 2\r\nline 3\r\n"

希望这可以帮助。

由于您是新用户,只需提醒您接受适合您的答案,或者至少为可帮助您理解的答案添加投票。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.