(5 Antworten)
Vor 4 Jahren geschlossen.
Ich habe einen Codeblock wie folgt in einer Datei:
BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode1
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode2
Ich möchte nach allen Zeilen suchen, die tc_
hatten Schlüsselwort und fügen Sie status=D
hinzu am Ende dieser Zeilen. Die obigen Einträge werden also wie folgt
BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode1 status=D
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1 timeout=30 keepalive=on route=tc_snode2 status=D
Ich verwende den folgenden Befehl, um dies zu erreichen:
sed -i '/tc_/a status=D' app.conf
Aber ich kann status=D
sehen ist nach einem Zeilenumbruch. Ich möchte dafür keinen Zeilenumbruch. Es sollte mit einem „“ angehängt werden ‘ (Leerzeichen) .
Akzeptierte Antwort:
versuchen
sed -e '/tc_/s/$/ status=D/'
wo
/tc_/
online, wo tc_ gefunden wird,s
ersetzen,/$
Zeilenende,/ status=D/
durch diese Zeichenfolge
Wenn es in Ordnung aussieht, fügen Sie -i
hinzu direkt bearbeiten.