grep在逗号后立即以'ing'结尾的单词

and*_*ras 0 regex grep text comma

我正在尝试grep文件中的行,其中一个单词以逗号后面的'ing'结尾,紧接着以下形式:

... we gave the dog a bone, showing great generosity ...
... this man, having no home ...
Run Code Online (Sandbox Code Playgroud)

但不是:

... this is a great place, we are having a good time ...
Run Code Online (Sandbox Code Playgroud)

我想找到"ing"字是逗号后面的第一个单词的实例.看起来这应该是非常可行的grep,但我还没弄清楚如何,或找到一个类似的例子.

我试过了

grep -e ", .*ing"
Run Code Online (Sandbox Code Playgroud)

它匹配逗号后面的多个单词.像这样的命令

grep -i -e ", [a-z]{1,}ing"
grep -i -e ", [a-z][a-z]+ing"
Run Code Online (Sandbox Code Playgroud)

不要做我所期望的 - 他们不像我前两个例子那样匹配短语.任何帮助(或指向更好的工具)将非常感激.

Pat*_*shu 6

尝试 ,\s*\S+ing

匹配前两个短语,与您的第三个短语不匹配.

\s意味着"任何空白",*表示0或更多的是,\S意味着"任何非空白"(大写字母是常规用于反转字符正则表达式集-工程\b \s \w \d),+是指"一个或多个",然后我们匹配ing.