Saya memiliki perintah sed untuk mengomentari perintah xml
sed 's/^\([ \t]*\)\(.*[0-9a-zA-Z<].*\)$/\1<!-- Security: \2 -->/' web.xml
Dibutuhkan:
<a>
<!-- Comment -->
<b>
bla
</b>
</a>
Menghasilkan:
<!-- Security: <a> -->
<!-- Security: <!-- Comment --> --> // NOTE: there are two end comments.
<!-- Security: <b> -->
<!-- Security: bla -->
<!-- Security: </b> -->
<!-- Security: </a> -->
Idealnya saya tidak ingin menggunakan skrip sed saya untuk mengomentari hal-hal yang sudah dikomentari.
Ie:
<!-- Security: <a> -->
<!-- Comment -->
<!-- Security: <b> -->
<!-- Security: bla -->
<!-- Security: </b> -->
<!-- Security: </a> -->
Saya bisa melakukan sesuatu seperti ini:
sed 's/^\([ \t]*\)\(.*[0-9a-zA-Z<].*\)$/\1<!-- Security: \2 -->/' web.xml
sed 's/^[ \t]*<!-- Security: \(<!--.*-->\) -->/\1/' web.xml
tapi menurutku one liner lebih bersih (?)
Ini sangat mirip: mencocokkan baris yang tidak tidak berisi teks tertentu dengan ekspresi reguler