我必须在许多有几行的文件中搜索,这些行的电话号码正好是十位数。
telephoneNumber: 66727166501
telephoneNumber: 6672716650
telephoneNumber: 66727166
telephoneNumber: 6672716651
所以我期待这样的行:
telephoneNumber: 6672716650
telephoneNumber: 6672716651
我正在使用下一个grep指令进行搜索:
grep '^telephoneNumber: [0-9]{10}$' file.txt
它在Ubuntu, OpenSuse和Cygwin中工作得很好,但是当我在Solaris中运行它时,它不匹配,如果在模式结束时删除$
,它确实匹配,但它像"至少10个数字"
有什么建议吗?
问题的原因很简单,我没有意识到,因为,就像我说的,我在不同的发行版中运行命令没有问题(我不知道为什么),而且我没有在文本编辑器
中使用选项检查文件。问题是文件的EOL应用搜索,原始文件没有Unix格式,遗憾的是,这些文件的创建不在我的控制之下