![如何更改 AWK 中现有的打印行](https://linux22.com/image/1267066/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%20AWK%20%E4%B8%AD%E7%8E%B0%E6%9C%89%E7%9A%84%E6%89%93%E5%8D%B0%E8%A1%8C.png)
当我执行以下行时,它会在换行符中打印单词。awk'BEGIN {print“line one\nline two\nline three”}'like line one line two line three
我如何在同一行打印信息并刷新现有行。例如,在执行循环时,它应该打印“one”,然后清除该行,然后打印“two”,然后清除该行并打印“three”等。您能帮助我吗?
答案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
。
答案2
您使用什么环境来查看输出?Putty?您可能需要重新配置 Putty 以遵守 \n“newLines”。或者,如果您确实处于 Windows/DOS 模式,则需要
printf "line 1\r\nline 2\r\nline 3\r\n"
希望这可以帮助。
由于您是新用户,因此我们温馨提醒您接受适合您的答案,或者至少对有助于您理解的答案投票。