この質問の続き:コマンド出力の最初の列を解析し、対応する2番目の列の値を取得します。 以下のようにテーブル形式で文字列を出力するコマンドがあるとします。私が探している「パターン」にスペースが含まれている場合はどうなりますか?たとえば、テーブルが次のような場合:
First Characteristic: b
Second Characteristic: 89.4
Version: 58.93
Name of Device: myDevice
Name of Device Load: myDevice-load-123abc
上記の表の「デバイスロード名」の横にある値を取得するにはどうすればよいですか?
明確にすると、私が探している値が「デバイスロード名」の横にあることがわかります。出力の5行目にあるかもしれませんが、その値がどのように見えるかもしれません(たとえば、「-load-」などのパターンマッチを試すことはできません)。
ベストアンサー1
これはどうですか?
grep "Name of Device Load:" your_file.txt| cut -d ":" -f 2 | tr -d " "
これにより、関心のある行のみを保持し、それらを2つのフィールドに分割し(各行が:
一度だけ発生する場合にのみ機能します)、スペースを削除します。