从string开始提取文本直到空格字符

时间:2017-05-17 08:00:18

标签: linux bash sed grep

示例输入文件

a   boogy                                   RqIANPGRTSSikGFb1Aoi6Q   5   1    1311234            0      1.7gb          1.7gb
a   boom                                   RqIANPGRTSSikGFb1Aoi6Q   5   1    1311234            0      1.7gb          1.7gb
a   baby                                   RqIANPGRTSSikGFb1Aoi6Q   5   1    1311234            0      1.7gb          1.7gb
a   boom                                   RqIANPGRTSSikGFb1Aoi6Q   5   1    1311234            0      1.7gb          1.7gb

预期:查找所有单词以 boo 开头,并使用sedgrep命令从

中提取这些单词
boogy
boom
boom

我试过了:

$ grep -oP 'boo\K[^ ]*' input_file
gy
m
m

这里的问题是它没有开始 boo

1 个答案:

答案 0 :(得分:1)

试试这个:

grep -o "\bboo[a-z]*\b" input_file

您必须使用字边界\b。在此边界内,您需要有效的正则表达式模式boo[a-z]*