(5 réponses)
Fermé il y a 4 ans.
J'ai un bloc de code comme suit dans un fichier :
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
Je veux rechercher toutes les lignes qui avaient tc_
mot-clé et ajoutez status=D
au bout de ces lignes. Ainsi, les entrées ci-dessus deviendront comme ceci
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
J'utilise la commande suivante pour y parvenir :
sed -i '/tc_/a status=D' app.conf
Mais je peux voir status=D
est après une nouvelle ligne. Je ne veux pas de nouvelle ligne pour cela. Il doit être ajouté avec un ' ‘ (espace) .
Réponse acceptée :
essayez
sed -e '/tc_/s/$/ status=D/'
où
/tc_/
sur la ligne où se trouve tc_,s
remplacer,/$
fin de ligne,/ status=D/
par cette chaîne
si tout semble correct, ajoutez -i
à modifier sur place.