我有一个文件,其中包含一个故事,我需要练习使用 grep 或 sed。我已经尝试过了egrep -i '^w.' file.txt
,它得到了大部分单词,但我需要每个以 w 开头的单词(“Paperwork”无效,“working”有效)。
答案1
可能您需要一个正则表达式来隔离单词开头 ( \b
) 并识别单词字符,例如\S
,请参阅文档了解更多。所以你可以使用命令
$ grep -oE '\bw\S*' inputfile
使用-o
,结果将只是匹配部分,每个匹配都在新行上(甚至来自一个输入行),并且-E
能够使用“扩展正则表达式”(与使用 相同egrep
)。
更严格的“单词”匹配可能会使用[[:alpha:]]
而不是\S
:
$ grep -oE '\bw[[:alpha:]]*' inputfile
这将导致英语字符集中出现以“w”开头的“单词”(字符序列)。