我正在尋找一個sed命令來編輯Arch Linux
鏡像文件。該命令應搜索#評論國名像#Germany並取消以下 #註釋行。sed命令來搜索一行並取消註釋以下行
任何幫助表示讚賞。
例子:
前:
#Germany
#hostA
#hostB
...
#hostH
#hostI
...
#hostZ
後:
#Germany
hostA
hostB
...
hostH
#hostI
...
#hostZ
我正在尋找一個sed命令來編輯Arch Linux
鏡像文件。該命令應搜索#評論國名像#Germany並取消以下 #註釋行。sed命令來搜索一行並取消註釋以下行
任何幫助表示讚賞。
例子:
前:
#Germany
#hostA
#hostB
...
#hostH
#hostI
...
#hostZ
後:
#Germany
hostA
hostB
...
hostH
#hostI
...
#hostZ
使用GNU sed
,你可以這樣做
gsed '/#Germany/,+4{/#Germany/ n; s/^#//}'
例
$ cat test
Some
random
stuff
#Germany
#1
#2
#3
#4
$ gsed '/#Germany/,+4{/#Germany/ n; s/^#//}' test
Some
random
stuff
#Germany
1
2
3
4
它所做
'/#Germany/,+4
這是一個地址圖案。它匹配第一個#Germany
和它後面的4行。如果匹配,則執行該模式的命令
/#Germany/ n;
如果是國名,我們可能不會取代它。 n
代表下一個,它讀取緩衝區的下一行。
s/^#//
替換#
什麼也沒有。
在awk
$ awk 'c&&c--{sub(/^#/,"")} /#Germany/{c=8} 1' file
我選擇了* nullp01n73R *中的命令,因爲問題詢問** sed **。不管怎樣,謝謝你。 –
如果問題是「我怎樣用螺絲刀開一個釘子?」,人們並不會打折「使用錘子」的答案,因爲問題不在於錘子。 –
類似請提供了文件中的幾個示例性輸入線與所述期望的輸出一起。 –
完成。根據要求添加示例。 –