特定の値を抽出する必要がある大きなファイルがあります。私はその中に "Brontes"という言葉をつけた文字列を探しています。AWK/SEDを介して文字列から特定の番号を出力
awk '/Brontes/{print $18}' file
、結果は正しいです::
を275637msしかし、文字列は少し違って見えるとき(カラムの量が変更された)結果をします、私はそのようにこれを印刷しようとしていた
2016-09-05 11:23:08,022 ERROR [xxx.xxx.xx] (MSC service thread 1-6) XXXX015875: XXXX AS 7.1.1.Final "Brontes" started (with errors) in 275637ms - Started 1221 of 1307 services (3 services failed or missing dependencies, 71 services are passive or on-demand)
同じではありません。
同じ結果を達成する方法はありますが、列の量に依存しない方法はありますか?
に文字列
Brontes
を含む行からms
で終わるすべての数字を出力します。 1つのサンプルだけでは、このログがどのようにして – fedorquiを書き込むのかを知ることができません。また、あなたの番号が常に 'ms'で終わっていれば、それを使うことができます...' grep -oP '\ d + ms' file' – Sundeep
はい、これは常にmsで終わりますが、このgrepはすべての値をmsで返します。その中に "Brontes"という単語を含む文字列だけが必要です。 – klapsak