Un mémorandum lorsque vous souhaitez remplacer des données en masse à l'aide de sed. Sera ajouté à tout moment.
Premièrement, lorsque vous souhaitez supprimer respectivement les lignes paires et impaires. En guise de préparation, préparez un fichier qui génère différentes chaînes de caractères sur les lignes paires et impaires.
$ for i in {1..10}; do
if [ $(($i % 2)) = 0 ]; then
echo 'Même rangées'
else
echo 'C'est une ligne étrange'
fi
done > number.txt
$ cat number.txt
C'est une ligne étrange
Même rangées
C'est une ligne étrange
Même rangées
C'est une ligne étrange
Même rangées
C'est une ligne étrange
Même rangées
C'est une ligne étrange
Même rangées
$ sed -i -e 'n; d' number.txt
$ cat number.txt
C'est une ligne étrange
C'est une ligne étrange
C'est une ligne étrange
C'est une ligne étrange
C'est une ligne étrange
$ sed -i -e '1d; n; d' number.txt
$ cat number.txt
Même rangées
Même rangées
Même rangées
Même rangées
Même rangées
Tout ce que j'avais à faire était d'échapper à l'espace.
#Préparation
$ pen='c'est un stylo.\n'
$ printf $pen"%.s" {1..10} > pen.txt
$ cat pen.txt
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
c'est un stylo.
#Remplacement
$ sed -i -e "s/c'est un stylo./This\ is\ a\ pen\./g" pen.txt
$ cat pen.txt
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
This is a pen.
Recommended Posts