Ram*_*ddy 6 command-line bash grep sed
我有file与
denm.xyz
denm.abc
denm.def
denm_xyz
denm_abc
denm_def
Run Code Online (Sandbox Code Playgroud)
我想提取其中的那些.。
我试过
grep "denm\.*" file
grep 'denm\.*' file
sed "/denm\.*/p" file
sed '/denm\.*/p' file
Run Code Online (Sandbox Code Playgroud)
这些东西与世界上的一切相匹配 file
然而使用 awk
awk '/denm\./' file
Run Code Online (Sandbox Code Playgroud)
工作了!!
我如何使用grep或做同样的事情sed
hee*_*ayl 13
在这种情况下,您很接近,您只需要删除*这意味着前面标记的零个或多个匹配项.。结果demn_也显示在结果中,因为它与条件零匹配.。
所以你可以这样做:
grep 'denm\.' file.txt
Run Code Online (Sandbox Code Playgroud)
同样在sed:
sed -n '/denm\./p' file.txt
Run Code Online (Sandbox Code Playgroud)
请注意,您错过了-n选项sed,没有它sed也会打印所有行。
还可以添加许多级别的精度,以在复杂情况下准确获得您想要的内容,但请将其作为开始。
例子:
% grep 'denm\.' file.txt
denm.xyz
denm.abc
denm.def
% sed -n '/denm\./p' file.txt
denm.xyz
denm.abc
denm.def
Run Code Online (Sandbox Code Playgroud)