grep/awk を使用してテキストファイルの特定の値を検索/印刷

grep/awk を使用してテキストファイルの特定の値を検索/印刷

次の5行を含むテキストファイルがあるとします。

Tue 18 2022 car model: Toyota , car motor: 2001 , car color: blue , year of production: 2018
Thu 19 2022 car model: Mercedes , car color: black , year of production: 2012 , car motor: 4000
Thu 20 2022 used: yes , car motor: 1999 , car model: Mercedes , car color: black , year of production: 2012
Thu 20 2022 car model: Kia , car motor: 1500 , car color: red , used: no , year of production: 2010
Thu 20 2022 price: 150, car model: GMC  , car color: purple , car motor: 3500 , year of production: 2010

次の条件がTRUEと評価されているすべての行を見つけて印刷するgrep / awk(またはfreebsd 11で利用可能な他のユーティリティ)を探しています。

Phrase "car motor:" followed by a space and then a numerical value greater than 2000

これらのgrep / awkは、テキストファイル内の次の行を検索または印刷することが期待されます。

Tue 18 2022 car model: Toyota , car motor: 2001 , car color: blue , year of production: 2018
Thu 19 2022 car model: Mercedes , car color: black , year of production: 2012 , car motor: 4000
Thu 20 2022 price: 150, car model: GMC  , car color: purple , car motor: 3500 , year of production: 2010

ベストアンサー1

Perlはfreebsdで利用可能で、あなたの要件は直接翻訳できると思います。

perl -ne 'print if /car motor: (\d+)/ and $1 > 2000' file

おすすめ記事