我尝试使用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"。
答案 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 文件名