在shell脚本中复制2个模式之间的行数据

时间:2013-04-04 12:14:12

标签: shell sed grep

这是我的source.php文件,如果模式匹配'<(单个小于)'>之间,我想要复制行号和行代码;(sinle quot more比逗号)

enter image description here

这是destination.php文件,我希望像这样输出

enter image description here

行号... 18,19,29不应该打印....因为它不匹配B / T模式..所以如何删除这....任何suggetion

enter image description here

2 个答案:

答案 0 :(得分:1)

如果你想复制碰巧介于'<之间的所有行和>';进了destination.php:

sed -ne "/'</,/>'\;/wdestination.php" source.php

答案 1 :(得分:0)

尝试以下命令:

sed -ne "/'</,/>'\;/{=;p}" source.php | sed '/./N;s/\n/ /' > wdestination.php

=打印图案的行号。第二个sed命令将行号放在与文本相同的行上,否则它将打印在不同的行上。