Grep:排在第一位的是第一个字?结束?

Bar*_*ble 2 grep

我正在尝试执行一个grep命令,查找文件中的所有行,其中第一个单词以"as"开头,而第一个单词也以"ng"结尾

我将如何使用grep进行此操作?

Chr*_*our 11

这应该就是这样做的:

$ grep '^as\w*ng\b' file
Run Code Online (Sandbox Code Playgroud)

Regexplanation:

^    # Matches start of the line
as   # Matches literal string as
\w   # Matches characters in word class
*    # Quantifies \w to match either zero or more
ng   # Matches literal string ng
\b   # Matches word boundary
Run Code Online (Sandbox Code Playgroud)

可能已经错过了奇怪的角落案例.

如果您只想打印匹配的单词而不是整行,请使用以下-o选项:

$ grep -o '^as\w*ng\b' file
Run Code Online (Sandbox Code Playgroud)

阅读man grep有关可用选项的所有信息.


Hun*_*len 1

我很确定这应该有效:

grep "^as[a-zA-Z]*ng\b" <filename>
Run Code Online (Sandbox Code Playgroud)

如果没有看到实际输入文件中的样本,很难说。