我有一个这样的文件:
This is my work
This is my work
This is my WORK
我想搜索所有模式,无论空格和大/小写情况如何。我怎么能用sed做到这一点?
答案 0 :(得分:2)
您不需要sed
。 grep
使用忽略大小写并且每个空格上的量词*
绰绰有余。
grep -i 'This *is *my *work' Input.txt
如果你坚持使用sed,你可以使用this answer中的这个疯狂的黑客攻击,如下所示。
sed 's/This *is *my *work/&/I;tx;d;:x' Input.txt
您还可以使用以下jkyako答案的变体。
sed -n '/This *is *my *work/Ip' Input.txt
请注意,如果您不想匹配仅包含模式的行,但只想匹配匹配模式的行,则必须使用{锚定模式{1}}和^
。
$
答案 1 :(得分:0)
抱歉,我原来的答案中没有空格。 这应该可以解决这个问题。
grep -i "this\s*is\s*my\s*work" file
答案 2 :(得分:0)
特别是使用sed你可以尝试以下方法,也许还有更短的方法:
sed -n '/[Tt][Hh][Ii][Ss] *[Ii][Ss] *[Mm][Yy] *[Ww][Oo][Rr][Kk]/p'