我的輸出文件是如下刪除線(包括該圖案的),使用AWK或sed的
judi#cat file
---ABC---
word1
word2
word3
word4
word5
word6
---end_ABC---
---DEF---
line1
line2
line3
line4
---end_DEF---
judi#
我需要刪除在圖案ABC和end_ABC(包含圖案之間的線,然後與新的內容替換,所述新的內容是在一個文件中的 文件的內容而變化,所以只需要使用圖案
judi#file1
---ABC---
wordA1
wordA2
wordA3
---end_ABC---
judi#
期望的結果必須是
judi#
---ABC---
wordA1
wordA2
wordA3
---end_ABC---
---DEF---
line1
line2
line3
line4
---end_DEF---
judi#
我想下面的命令
sed '/ABC/,/end_ABC/{/ABC/!{/end_ABC/!d}}' file > file 2
但要下面提到的錯誤
sed: command garbled: /ABC/,/end_ABC/{/ABC/!{/end_ABC/!d}}
您的命令在GNU sed下適用於我。如果你使用的是BSD(OSX)sed,可以考慮在大括號之前加上一些分號:'''''>';}'。 – John1024
是的命令看起來不錯(GNU sed),只有文件+2,該命令將刪除範圍內的所有行,除了第一個和最後一個 – josifoski
在未來,請學會搜索S.O.發佈之前。您的標題'刪除兩個圖案之間的線條'(圖案上有's')會返回76個項目。祝你好運。 – shellter