^$
我在 UNIX 上 使用正则表达式时遇到问题。
当我grep '^hello$' text
在命令行上键入时,它应该与“hello”单词匹配,因为它是文本文件中特定行上的唯一单词。不幸的是,它并没有这样做。
我尝试过,即使除了“你好”之外,任何一行上都没有任何单词,但它也不起作用。
答案1
根据评论,有多种原因导致这可能不匹配,但看起来“看不见”。
一种常见的故障模式是文件为 DOS 格式。
在您的情况下,您在行尾隐藏了空格(空格或制表符)。
tr ' ' ! < filename
或等命令cat -e filename
可以帮助暴露这些字符。