我有一个grep -o '100%'
管道后wget
,所以我只通知wget
完成下载,没有无用的信息在屏幕上。但每个100%
印在一个新的行,我不喜欢这个洪水!那么,有没有办法将tr
换成空格,通过管道tr
后grep
?我得到的结果都是没有结果,每次我尝试...BASH - tr grelines结果换行
1
A
回答
3
你最终会得到输出,但一切都在一个。这是由于缓冲。
GNU grep
有一个--line-buffered
以避免输出缓冲。 tr
不输入缓冲,没有明显的方式来关闭它,这样你就可以使用awk
代替:
wget -r -l 1 http://stackoverflow.com/ 2>&1 |
grep --line-buffered -o '100%' | awk '{printf("%s ", $0);}'
100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
0
它的缓冲,见Why no output is shown when using grep twice?。只需使用AWK:
$ wget -r -l 1 https://stackoverflow.com/ 2>&1 | awk 'match($0,/100%/){printf "%s ", substr($0,RSTART,RLENGTH)}'
100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
或可能更为有用:
$ wget -r -l 1 https://stackoverflow.com/ 2>&1 | awk '/100%/{printf "."}'
...........
相关问题
- 1. 意外bash的分配结果使用tr命令
- 2. 护尾随功能结果换行符在bash
- 3. bash grep结果var值每行更改
- 4. 执行命令结果的Bash
- 5. Bash:运行结果标题的命令
- 6. 转换TD列到TR行
- 7. Bash - IF [..] ||的麻烦结果[..]
- 8. 为同`case`结果`bash`
- 9. 命令bash的结果
- 10. bash grep结果到数组
- 11. BASH从PHP获取结果
- 12. 如何用bash脚本替换字符串并写回结果
- 13. 悬停整个TR如果tr有类
- 14. 如果tr之后TD [行跨度]
- 15. 计数结果行
- 16. bash过程替换和尾部不正确的结果?
- 17. jQuery Bootgrid在充电内容之前替换tr没有结果ajax
- 18. 替换tr显示错误的结果,同时使用jQuery对象
- 19. 切换TR显示
- 20. Bash:使用cat和tr替换使用逗号替换字符串的问题
- 21. 在bash中从html中提取td/tr?
- 22. 转换列的结果为单行
- 23. 将行结果转换为列
- 24. 转换Colums值代入行的结果
- 25. 确定CTLine是否为换行结果
- 26. 转换结果列于行导致SQL
- 27. 如何转换结果集行成columnn
- 28. 如何用换行保留grep结果?
- 29. 转换多行的结果设定为
- 30. 从MarkupBuilder结果中删除换行
“你会得到最终的输出,但都一气呵成。”诚然,我现在确认。我没有等很长时间,因为有很多文件需要下载,而且看到一个没有关于正在发生的事情的信息的屏幕是非常烦人的! – Anders
你确定' - 行缓冲'_disables_缓冲吗? 'man'和'info'都有其他的含义:“在输出中使用行缓冲”。顺便说一句,使用它或不使用结果相同:所有'100%'只在最后。 – Anders
您是在尝试按照此处提供的命令,还是仅在现有命令中添加了“--line-buffered”? –