2016-09-26 4 views
2

Ich habe einen Befehl in einem Bash-Skript, das der folgenden AusgabeWie wird die Ausgabe eines Befehls durchlaufen?

repository: docker/images 
tags: 
- 0.1-1 
- 0.1-2 
- 0.1-3 
- 0.1-6 
- 0.1-7 
- 0.1-9 

jedoch aus der obigen Ausgabe gibt, ich brauche nur durch 0.1-1, 0.1-2 ... und führen Sie einen anderen Befehl zu durchsuchen.

Bitte lassen Sie mich wissen, wie diese

erreicht werden kann

Antwort

2

einen Test hinzufügen zu überprüfen, ob die Zeile mit - beginnt grep mit:

... | grep '^-' | while read -r line; do echo "$line"; ## Do stuffs; done 

Als grep ‚s Ausgang gepuffert ist, können Sie Linie wollen Pufferung, müssen GNU grep:

... | grep --line-buffered '^-' | while ...; do ...; done 

Oder verwenden stdbuf:

... | stdbuf -oL grep '^-' | while ...; do ...; done 
Verwandte Themen