キーワード間の段落全体を変更しようとしています。
したがって:
port: 6666
socks-port: 6699
redir-port: 6669
allow-lan: true
mode: Rule
log-level: info
external-controller: 0.0.0.0:9090
dns:
enable: true
ipv6: false
# listen: 0.0.0.0:53
# enhanced-mode: fake-ip
nameserver:
- 223.5.5.5
- 114.114.114.114
# - 'tls://dns.rubyfish.cn:853'
#fallback:
# - 'tcp://208.67.222.222:443'
# - 'tls://1.0.0.1:853'
# - 8.8.8.8
proxies:
- type: ss
server: test.com
proxy-groups:
- name:
ベストアンサー1
代替テキストがfile1
次の場合(最後の行を追加)
dns:
enable: true
enhanced-mode: redir-host # 或 fake-ip
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
experimental:
interface-name: Ethernet # 物理网卡名称
proxies:
少し検索してみると、sed
住所の範囲が貪欲ではないようで、こうすることができます。
sed -e "/^ proxies:/ r file1" -e "/dns:/,/proxies:/d" file
牙
r
読んで一致させたら、file1
オリジナルに追加してください。file
/^ proxies:/
sed -e "/^ proxies:/ r file1"
/dns:/
次に、全体を再処理し、最初の一致から,
最初の一致までの行範囲をキャプチャし/proxies:/
てd
削除します。
-e "/dns:/,/proxies:/d" file
sed
上に役立つ資料があります絵のモア。
コメントを更新するには編集してください。
他のproxies:
行は、行の先頭に4つのスペースがあるという点で目標とは異なります(他の行は4つ以上)。含めたい置換項目を固定すると、^
興味のある交換項目のみが選択されるため、
sed -e "/^ proxies:/ r file1" -e "/dns:/,/proxies:/d" file
上記のインサートを使用すると、file1
次のようになります。
port: 6666
socks-port: 6699
redir-port: 6669
allow-lan: true
mode: Rule
log-level: info
external-controller: 0.0.0.0:9090
dns:
enable: true
enhanced-mode: redir-host # 或 fake-ip
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
experimental:
interface-name: Ethernet # 物理网卡名称
proxies:
- type: ss
server: test.com
proxy-groups:
- name: