次の使用法メッセージを解析しようとしています。
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
...
Commands:
build Build or rebuild services
bundle Generate a Docker bundle from the Compose file
...
Command
名前だけをインポートしてください。したがって、Commands:
この行の前のすべての行をスキップして、次の行の最初の単語を印刷したいと思います。
build
bundle
...
現在私はやっています
docker-compose --help | sed -e '1,/Commands:/d' | awk '{ print $1 }'
これが機能している間に1つを使用できるかどうか疑われますawk
。これまでに最も近いのは次のとおりです。
docker-compose --help | awk '/Commands:/,0 { print $1 }'
ただし、これには一致するCommands:
行が含まれます。できますか?
ベストアンサー1
フェンスの存在を表示したら、フェンスを使用して、次の行とそれに続く行を印刷するかどうかを決定できます。たとえば、次のようになります。
awk 'x==1 {print $1} /Commands:/ {x=1}'