使用 grep 搜索以字母“s”开头的单词

新手上路,请多包涵

我正在尝试使用 grep 来查看文件,并找到以小写字母“s”开头的单词。文件片段:

 sjpope   pts/2    161.133.12.95    10:21am 43.00s  0.13s  0.01s  man bc
rmschalk pts/3    161.133.9.147    10:22am  1.00s  0.10s  0.02s  vi testb
jntrudel pts/4    161.133.9.11     10:23am  2.00s  0.09s  0.00s  vi testb
tjbanks  pts/5    161.133.9.70     10:41am  8.00s  0.06s  0.04s  -ksh

我希望输出有带有“s”的行。

原文由 hurnhu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 901
2 个回答

对于所有这些想要搜索以给定字母而不是 开头的 单词 的人,这个单行将做:

 grep -E '\bs' file.txt # all words starting with s
grep -E 's\b' file.txt # all words ending with s

我知道这是非标准的 grep 行为( \b 正则表达式锚,这意味着断词不在扩展正则表达式标准中),但它适用于大多数现代系统。

原文由 csharpfolk 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试以下操作:

 grep ^s file.txt

原文由 Mark J. Bobak 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题