Ein Memorandum, wenn Sie Daten in großen Mengen mit sed ersetzen möchten. Wird jederzeit hinzugefügt.
Erstens, wenn Sie gerade bzw. ungerade Zeilen löschen möchten. Bereiten Sie zur Vorbereitung eine Datei vor, die unterschiedliche Zeichenfolgen in geraden und ungeraden Zeilen ausgibt.
$ for i in {1..10}; do
if [ $(($i % 2)) = 0 ]; then
echo 'Gerade Reihen'
else
echo 'Es ist eine merkwürdige Linie'
fi
done > number.txt
$ cat number.txt
Es ist eine merkwürdige Linie
Gerade Reihen
Es ist eine merkwürdige Linie
Gerade Reihen
Es ist eine merkwürdige Linie
Gerade Reihen
Es ist eine merkwürdige Linie
Gerade Reihen
Es ist eine merkwürdige Linie
Gerade Reihen
$ sed -i -e 'n; d' number.txt
$ cat number.txt
Es ist eine merkwürdige Linie
Es ist eine merkwürdige Linie
Es ist eine merkwürdige Linie
Es ist eine merkwürdige Linie
Es ist eine merkwürdige Linie
$ sed -i -e '1d; n; d' number.txt
$ cat number.txt
Gerade Reihen
Gerade Reihen
Gerade Reihen
Gerade Reihen
Gerade Reihen
Ich musste nur dem Raum entkommen.
#Vorbereitung
$ pen='dies ist ein Stift.\n'
$ printf $pen"%.s" {1..10} > pen.txt
$ cat pen.txt
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
dies ist ein Stift.
#Ersatz
$ sed -i -e "s/dies ist ein Stift./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