查找以特定字母结尾的行

查找以特定字母结尾的行

如何 grep 以字母结尾的行a or d,后跟xy
我知道使用 $ 你可以检查结尾,但不确定如何组合它
并使用或条件

答案1

一些命令可以匹配以axy或结尾的行dxy

# pick one
grep   'axy$\|dxy$'
grep -E 'axy$|dxy$'
grep  '\(a\|d\)xy$'
grep -E  '(a|d)xy$'
  • 您说得对$,它与行尾相匹配。
  • |\是“或”。在 BRE(基本正则表达式)中,您需要用 对其进行转义;如果不转义,则该字符为文字。在 ERE(扩展正则表达式, grep -E)中则相反:未转义时为“或”,转义时为文字。
  • ()表示一组,这里我用它们来限制 的范围|。同样,在 BRE 中需要转义,在 ERE 中则不能转义。

相关内容