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

时间:2014-03-19 23:23:52

标签: linux grep

我尝试使用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"。

6 个答案:

答案 0 :(得分:15)

对于所有想要搜索单词的单词,从给定的字母开始而不是,这个单行将会这样做:

grep

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

答案 1 :(得分:5)

尝试以下方法:

grep ^s file.txt

答案 2 :(得分:1)

哟可以使用

  

grep ^ s file.txt

命令获取从s字符开始的所有行的列表。

答案 3 :(得分:1)

使用标准grep,您可以使用\<(单词的开头)和\>(单词结尾)正则表达式搜索以#开头的单词:< / p>

grep '\<[s][[:alpha:]]*\>' file.txt # Words starting with s

此外,如果您想以s开头输出,您只需使用^字符:

grep '^s' file.txt # Lines starting with s

答案 4 :(得分:0)

您是否尝试过使用正则表达式? ^字符将从字符串的开头搜索。在您的特定情况下,例如,如果您希望所有结果都以小写字母开头,那么&#39;:

    cat file | grep ^s

或只是

grep ^s file

答案 5 :(得分:0)

请使用以下命令 grep ^s 文件名