在线发现Sed命令和未知模式

时间:2018-06-15 15:19:57

标签: sed

我需要sed命令的帮助,尤其是以下表达式:

sed -e 's/*(.*)//;s/>.*//;s/.*[:<]*//'

我知道 s / pattern / replacement / 意味着模式替换替换,当没有时替换这意味着只删除了模式(这是正确的吗?)。此外,我已经看到某个地方“。*”匹配任何贪婪的东西,“[]”是任何内容的匹配....我认为。

有人可以帮忙吗?模式*(.*)>.*.*[:<]*的含义是什么?

1 个答案:

答案 0 :(得分:-1)

通过cat file | grep From:并将输出汇总到上面的sed表达式中,我可以看到没有任何结果。所以我决定调查代码本身。我知道.*匹配任何贪婪的东西,/ //是分隔符(from-to),我注意到最后一个块s/.*[:<]*//没有做任何事情。所以我把它拿走了。我还注意到第二个区块s/>.*//正在进行决赛&#34;&gt;&#34;远离From: Name Surname <name.surname@somedomain>,所以我在第一个块s/*(.*)//上工作,以便它可以删除最初的&#34;&lt;&#34;以及它面前的一切。我最终得到了将sed -e 's/.*<//;s/>.*//'转换为From: Name Surname <name.surname@somedomain>的表达式name.surname@somedomain

相关问题