【问题标题】:Ignoring strings without using the -v flag不使用 -v 标志忽略字符串
【发布时间】:2018-08-30 05:28:06
【问题描述】:

我正在尝试使用 egrep 在文件中查找包含某个单词但不以该单词开头的行。

我目前正在这样做......

egrep '^word|word' file.txt

我尝试将它放在括号中,而不是符号 ^,但括号单独指定每个字母,而不是整个单词。

egrep'^[^word]|word' file.txt

我该如何做到这一点,忽略某个特定的第一个单词,例如,我忽略了句子开头的每个 The,但发现了其他单词。不使用 v-flag。

【问题讨论】:

  • 试试这个 - cat file.txt | egrep 'word'
  • 我认为不使用 -v 选项的 egrep 是不可能的。如果你有带有 PCRE 选项的 GNU grep,你可以这样做
  • 这适用于在文件中查找单词,但如果单词出现在行的第一个位置,我仍然无法读取该单词。
  • 使用给定答案中的示例,您希望在搜索 word 时显示或忽略 word some word 行吗?此行以word 开头,但在该行的其他位置也有word
  • 我希望忽略行首的单词,而不是行中后面的单词。

标签: regex linux shell grep


【解决方案1】:

你只需要:

grep '..*word' file

或:

grep -E '.+word' file

在行首以外的位置查找包含word 的行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 2016-07-30
    • 2018-03-10
    • 2019-05-26
    相关资源
    最近更新 更多