【问题标题】:Find lines starting with one specific character and ending with another one查找以一个特定字符开头并以另一个字符结尾的行
【发布时间】:2015-05-08 02:11:28
【问题描述】:

我需要在文件中找到以 a 开头的行,并且该行中的最后一个单词以 e 结尾。

如何使用grep 之类的工具来做到这一点?

【问题讨论】:

  • 这里的问题是什么?正则表达式应该是什么?你应该参考正则表达式来学习这些东西......

标签: unix grep pattern-matching


【解决方案1】:

就这么说吧:

grep '^a.*e$' file

这意味着:查找以 a 开头 (^) 的行,然后是 0 个或多个字符,最后是 e 在行尾 ($)。

测试

$ cat a
hello
and thisfinishes with e
foo
$ grep '^a.*e$' a
and thisfinishes with e

【讨论】:

    【解决方案2】:

    简单的答案:使用 grep。

    grep -E "^a.*e$" filename
    

    ^ 表示行首 $ 标志着行尾 .* 表示从零重复到任意次数(*)的任何字符(.)。 许多主题已经回答了这个问题,例如this one。 如果您想了解更多关于搜索的信息,可以深入了解REGEX

    【讨论】:

    • 这里不需要-E,简单的grep也一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 2021-10-24
    • 2016-12-21
    • 2017-04-18
    相关资源
    最近更新 更多