line_index="2d";

file="./Desktop/books.sh";

sed -i.bak -e $line_index $file

Supprime toute la ligne vers laquelle pointe $ line_index

sed -i "s/harry/potter/g" $file

Cherchera Harry et le remplacera par Potter

Y a-t-il de toute façon que je peux combiner les deux instructions afin qu'il ne remplace que le numéro de ligne spécifique de harry au lieu de tout le harry dans le fichier.

1
Justpee 16 janv. 2017 à 20:01

2 réponses

Meilleure réponse

Bien sûr, les "adresses" et les "commandes" peuvent être librement combinées:

sed '2s/harry/potter/g'
1
choroba 16 janv. 2017 à 17:08

Pour limiter la substitution à un numéro de ligne, ajoutez-le avant la commande:

sed -i "2s/harry/potter/" $file
1
Graham 23 sept. 2017 à 16:17