我有一个文件,其中包含不同长度的国家/地区列表。该文件被称为countries
并且位于我的工作目录中。
我想运行一个grep
命令来告诉我哪些国家/地区有九个或更多字母。
我目前正在努力使语法正确。
我是否沿着以下思路寻找:
grep '^.\{9\}' countries
刚刚尝试了上面的方法,似乎没有任何作用?
答案1
这对我有用;将返回包含九个或更多字符(包括空格)的所有单词。
grep -oh '.\{9,\}' countries
再次阅读您的问题后更新;这次只匹配字母。因此,如果您需要包含九个或更多连续字母的国家/地区名称,这是我的建议。
grep -ioh '[a-z]\{9,\}' countries
这与“西德”之类的内容不匹配。取决于您将此示例中的国家/地区名称视为 11 还是 12。但是,“长度”等于或大于九 (9)。
答案2
您缺少一个“,”(逗号)来表示 9 个或更多字符:
grep '^.\{9,\}' countries