我正在通过一些文件查找字符串“主机”(带单引号)。我想捕获包含没有注释 (#) 的字符串的文件。
第一个示例中的测试用例工作得很好,但下面的第二个用例却不行。第二种情况是我创建的测试文件,并在其中插入了前导空格。所以我知道没有控制字符,只有空格。
两台服务器都是相当新的 Linux 版本。
什么可以解释第二个示例没有捕获文本?我知道我可以 grep for host,然后用grep -v过滤评论,但我不明白这一点让我很烦恼。
/home/user2> $ cat set.txt
'host'
/home/user2> $ grep -E "^\s+'host'" set.txt
'host'
其他 Linux 服务器上的 Grep 未捕获所需数据:
[user1@wweb1 ~]$ cat set.txt
'host'
[user1@wweb1 ~]$ grep -E "^\s+'host'" set.txt
[user1@wweb1 ~]$