現在我有一個簡單的文件,我想用sed上:SED嵌套組和反向引用
~ cat sample
##tag##
xxxxxxx
xxxxxxx
##tag##
我想到的是取消對一對##標籤##線和單獨留下中間的東西。我可以這樣做(除了有一個在底部一個空行):
~ sed -r 'N;N;N; s/##tag##\n((.*\n)*)##tag##/\1/' sample
xxxxxxx
xxxxxxx
但標記線並不總是整齊,因爲我想,有另外一個文件:
~ cat sample2
##tag###dklxjexx
xxxxxxx
xxxxxxx
asdf##tag###xosy
我知道你有我點,仍然我想刪除標記行:
~ sed -r 'N;N;N; s/##tag.*\n((.*\n)*).*tag##/\1/' sample2
但我什麼都沒有印刷!怎麼來的??
我很期待這個Q,感謝您的時間和原諒我的英語不好:)
所以是.
比賽\n
? img上方如何來?
'*'表示0以上,'* '會匹配最長的匹配,這意味着您捕獲的組不會捕獲任何數據,並且第一個。* \ n與最後一行匹配。 – 123
感謝您的反饋!但我發現'。*'匹配任何字符(除了換行符) – hedleyyan
'。*'匹配換行符以及... – 123