質問: ファイルから小数点(.)を含む数値を取り出したいと考えております。 test.logというファイルのIDの値のみを取り出したいです。 name A birt 1990/1/1 ID 2444.8228 num 111111111 という内容を書いてます。 IDの2444.8228のみを取り出したく、以下のコマンドを打っています。 cat /tmp/test.log | grep ID | sed -e 's/[^0-9]//g' ですが、これでは24448228しか取り出せません。 sedコマンドで、.は置換しない処理を書くにはどのようにしたらよいでしょうか。
回答: ``` sed -n '/^ID/s/[^0-9.]//gp' /tmp/test.log ``` 行頭が`ID`である行について、数字とピリオド以外を削除して、出力