[英]Delete blank line before a pattern. What's wrong? Currently using Perl but open to sed/AWK
[英]How to delete the pattern between start of the pattern and a line before the end pattern using sed or perl command?
這是輸入文件
{1:IRVTUS30XXX}{2:I304dfaffaefa}{3:fewfa]}
:15A:
:20:1234556
:22:dsafas
dsafafaf
erwfafgr
:23:fewfd
:24:firh
:60:uncenjnjcdv
:72:uenuernfk
12345
-}
在這里,我想從輸入文件中刪除一些標簽信息。 (標記為:15A::22:位於冒號之間的標記稱為標記)
如果要刪除標簽20,可以使用以下perl命令:
perl -i -pe 's/:20:(.*)\r\n//g' file
但是對於像:22:或:72:這樣的多行標記的標記..我如何刪除那些標記?
除去標簽22的示例代碼(適用於多行或單行):
% perl -00 -pe 's/^:22:.*?(?=(?:^:\d+\w*|$))//ms' file.txt
{1:IRVTUS30XXX}{2:I304dfaffaefa}{3:fewfa]}
:15A:
:20:1234556
:23:fewfd
:24:firh
:60:uncenjnjcdv
:72:uenuernfk
12345
-}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.