ファイルから文字列を検索すると、次の結果が表示されます。
$ grep "java vm version" dev_server0
F java vm version : 6.1.094 25.51-b02
6.1.094
他のすべての文字/数字を印刷して削除します。どうすればいいですか?
答え1
努力する
grep "java vm version" dev_server0 | awk '{print $6}'
awk
デフォルトでは、入力行はスペースで区切られており、6番目のフィールドが必要です。
たとえば、
$ echo 'F java vm version : 6.1.094 25.51-b02' | awk '{print $6}'
6.1.094
お持ちの方はgrep
お試しpcre
ください。
grep -oP 'java vm version\s*:\s*\K\S+' dev_server0
java vm version\s*:\s*\K
このパターンを積極的に確認してください。\S+
空白以外の文字の抽出
答え2
POSIX的に:
sed -n 's/.*java vm version[[:blank:]:]*\([^[:blank:]]*\).*/\1/p'
答え3
6番目のフィールドのみを印刷します。
grep "java vm version" dev_server0 | awk '{print $6}'