0

したがって、次のコマンドを実行して、関心のあるインスタンスの情報を抽出しています。

新星一覧 | grep derpInstance

私は得る:

| 37696b22-1afa-40fa-81cc-241493ef09e1 | derpInstance    | ACTIVE | None       | Running     | devcos-shared-net-10-9-254-0_24=10.9.254.129 |

IP アドレス (= 記号の後の部分) に興味があります。シェル スクリプトでそれを抽出するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

または、sed を使用します。

nova list | grep derpInstance | sed 's/.*=//;s/ .*//'

このようなソリューションは一般的に脆弱であることに注意してください。堅牢なプログラムが必要な場合は、フィールドの文法を知っていることを確認して、以前に見たことのない文字が出力に表示されたときに単純な正規表現が壊れないようにする必要があります。たとえば、= 記号が他のフィールドで発生する可能性がある場合、このフィールドは壊れます。

于 2013-08-12T22:58:55.090 に答える
0

これを試してください:

nova list | grep derpInstance|grep -Po '(?<==)[0-9.]*'
于 2013-08-12T22:55:47.890 に答える