0

次の形式の、コンマの直後に「ing」で終わる単語を含む行のファイルをgrepしようとしています。

... we gave the dog a bone, showing great generosity ...
... this man, having no home ...

だがしかし:

... this is a great place, we are having a good time ...

「ing」という単語がコンマの後の最初の単語であるインスタンスを見つけたいと思います。これはgrepで非常に実行可能であるように思われますが、方法がわからなかったり、同様の例が見つかりませんでした.

私が試してみました

grep -e ", .*ing"

コンマの後の複数の単語に一致します。のようなコマンド

grep -i -e ", [a-z]{1,}ing"
grep -i -e ", [a-z][a-z]+ing"

期待どおりに動作しません。最初の 2 つの例のようなフレーズには一致しません。これに関するヘルプ(またはより良いツールへのポインタ)は大歓迎です。

4

2 に答える 2

3

トークンを使用して、\b単語境界で一致させることができます (このページを参照してください)。

次のようなものが機能するはずです。

grep -e ".*, \b\w*ing\b"

編集:パタシュが指摘したように、今で\bは不要であり、機能することに気づきました。.*,\s*\w*ing私の正規表現はさびています。

于 2013-05-09T22:53:42.517 に答える