使い始めたばかりで、出力からIPアドレスを抽出するためにsed
使用する予定です。ping
これが私が達成したいものです:
テキスト入力:
ytmti (192.188.2.3) jjggy
希望の出力:
192.188.2.3
私が試しているコマンドは次のとおりです。
echo "ytmti (192.188.2.3) jjggy" | sed 's:\((\(192.188.2.3\))\):\2:'
現在の出力:
ytmti 192.188.2.3 jjggy
注:ytmti
andは実際にjjggy
andのようなテキストを置き換えます。Pinging unix.stackexchange.com
with 32 bytes of data:
私の考えでは、を使用することがawk
出力を解析するためのより良い解決策かもしれませんが、ping
慣れたいと思いますsed
。
ベストアンサー1
置換コマンドは、最初の部分で一致するすべての文字を2番目の部分のすべての文字に置き換えるため、保存したい部分だけがsed
必要または類似してグループ化されます。たとえば、次のようになります。.*
echo " ytmti (192.188.2.3) jjggy" | sed 's:^.*(\([^)]*\).*$:\1:'
[^)]*
IPをハードコードして一般化するのを防ぐためにこれを使用することに注意してください。それは次のものを生成します:
192.188.2.3