我在bash脚本中有一个命令,它提供以下输出
repository: docker/images
tags:
- 0.1-1
- 0.1-2
- 0.1-3
- 0.1-6
- 0.1-7
- 0.1-9
但是,从上面的输出中,我只需要浏览0.1-1, 0.1-2 ...
并运行不同的命令。
请告诉我如何实现这一目标
答案 0 :(得分:2)
使用-
添加测试以检查该行是否以grep
开头:
... | grep '^-' | while read -r line; do echo "$line"; ## Do stuffs; done
当grep
的输出被缓冲时,您可能需要行缓冲,需要GNU grep
:
... | grep --line-buffered '^-' | while ...; do ...; done
或使用stdbuf
:
... | stdbuf -oL grep '^-' | while ...; do ...; done