Blogotux

Trucs, astuces pour linux mais c'est d'abord mon bloc-notes, donc sans grandes prétentions

inverser les lignes d'un fichier

03/03/2020 à 20:28:21

en inserant des lignes en début avec sed

version 2
le script balaie les lignes du fichier toto.txt, les recopie au début de toto2.txt, qui est renommé ensuite .
A la fin, l'ordre des lignes est donc inversé. Un backup préalable est écrit

#!/bin/bash
file="toto.txt"
cp "$file" "$file".bk
echo "">toto2.txt
while IFS= read -r line
do
sed -i 1i"$line" toto2.txt
done <"$file"
mv toto2.txt "$file"

version 1
le script balaie les lignes du fichier1, et les recopie au début de fichier2.
A la fin, l'ordre des lignes est donc inversé.
nota: la commande sed -i 1i"$line" fichier2.txt insère à la 1° ligne. (2i pour la 2° ligne).

#!/bin/bash
file="fichier1.txt"
while IFS= read -r line
do
sed -i 1i"$line" fichier2.txt
done <"$file"

Dans les catégories : script, sed

Aucun commentaire

Flux RSS des commentaires de cet article





Remarque : Votre commentaire sera visible après validation par le webmaster.