2016-09-26 68 views
2

我在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 ...浏览和运行不同的命令。

请让我知道如何可以做到这一点

回答

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