shell - 使用 grep 查找单词
问题描述
在 alice.txt 中找到至少包含 17 个单词的行。
提示1:要检查一个单词是否已经结束,请查找以下字符:(
[, ; : ’ .]
注意列表中还有一个空格)提示 2:您的代码应返回 13 行
第一次尝试输出 15 个单词而不是 17 个单词,并且有 13 行第二次尝试没有输出任何内容,但我认为总体思路是正确的,除非我遗漏了一些东西......
第一次尝试:
grep -Ein "([a-z]+[, ;:'\.]){15,}" alice.txt
第二次尝试:
grep -Ein "(\b[a-z]+\b){17,}" alice.txt
预期结果是正确的,但只产生了 15 个修饰符,而不是问题中要求的 17 个。然而,代码返回 13 行
解决方案
以下是您在 UNIX 中使用 GNU awk 进行 FPAT 真正做到这一点的方法:
awk -v FPAT='\\w+' 'NF>16'
例如:
$ echo 'foo bar, etc.' | awk -v FPAT='\\w+' '{print NF}'
3
$ echo 'foo bar, etc.' | awk -v FPAT='\\w+' 'NF>2'
foo bar, etc.
$ echo 'foo bar, etc.' | awk -v FPAT='\\w+' 'NF>3'
$
推荐阅读
- flutter - 如何使小部件贴在顶部,同时还具有滚动视图?
- scala - How to correctly verify scheduled invocations in ZIO Test
- python - 如何使用 imsave 保存带有颜色条的图像?
- laravel - 借助关系获取 Laravel 中父类别和子类别中的所有产品
- selenium - selenium pagefactory中的elementlocatorFactory有什么用,有一些真实的语法
- swift - 为子视图控制器使用自动布局
- excel - Selenium VBA Excel - 单击 iframe 中的链接时出现问题
- c# - Newtonsoft.Json C# :: 格式化 JsonConvert.SerializeObject
- javascript - DOM 操作在模板文字中不起作用
- javascript - 如何创建重复的 webpack 块文件,一个有一个没有哈希?