Regex 如果第二次出现的特殊字符后跟特定字符,我想删除整行
例:如果在第二次出现Regex 如果第二次出现的特殊字符后跟特定字符,我想删除整行,regex,bash,sed,grep,sh,Regex,Bash,Sed,Grep,Sh,例:如果在第二次出现:之后出现*,我想删除下面两行 /path/:456: * This entire line needs to be deleted /auto/myfolder/:999 : * This entire line should get deleted 注意:*应该是第二个:后面的第一个字符,忽略空格 有人能帮我用sed或grep在shell脚本中工作吗 非常感谢。sed: sed '/^[^:]*:[^:]*:[ \t]*\*/d' fil
:
之后出现*
,我想删除下面两行
/path/:456: * This entire line needs to be deleted
/auto/myfolder/:999 : * This entire line should get deleted
注意:*
应该是第二个:
后面的第一个字符,忽略空格
有人能帮我用sed或grep在shell脚本中工作吗
非常感谢。sed:
sed '/^[^:]*:[^:]*:[ \t]*\*/d' file
说明:
:从行首开始^
:搜索零个或更多([^::*:
)非*
字符,后跟:
:
:与上面相同的模式用于搜索第二个[^:::*:
:
:选项卡的任意空格数[\t]*
:转义的\*
*
- 如果找到模式,则对该行应用
(删除)命令d
[^::]*:
,您可以使用\{2\}
量词:
sed '/^\([^:]*:\)\{2\}[ \t]*\*/d' file
添加-i
标志以在位编辑文件:
sed -i '/^[^:]*:[^:]*:[ \t]*\*/d' file
THNKS LE,你能解释一下ReEX吗?你知道如何删除SED的评论吗?/路径/:456:*这整行需要删除/ /这应该删除太/ *单行评论*//Auto/MyFixs/:999:*这整行应该得到删除C评论(/**)和C++评论(/)通过使用sed可以从文件中的任何位置读取注释。注释中的代码很难读取。也许你应该问另一个问题。还有什么问题吗?因此,是否可以有一行类似于
/path/:789:some data:*这整行需要删除,否则这也会起作用:awk-F:'!($3~/\*/)'文件名