Question

FILE :

hello

world

foo

bar

Comment peut-on supprimer toutes les nouvelles lignes vides de ce FILE ?

Résultat de la commande:

FILE :

hello
world
foo
bar
Était-ce utile?

La solution

grep. FICHIER

(Et si vous voulez vraiment le faire dans sed, alors: sed -e / ^ $ / d FICHIER )

(Et si vous voulez vraiment le faire dans awk, alors: awk /./ FILE )

Autres conseils

Essayez ce qui suit:

grep -v -e '^
with awk, just check for number of fields. no need regex

$ more file
hello

world

foo

bar

$ awk 'NF' file
hello
world
foo
bar

Voici une solution qui supprime toutes les lignes vides ou ne contenant que des espaces:

grep -v '^[[:space:]]* foo.txt

Essayez ceci: sed -i '/ ^ [\ t] * nom de fichier

Cela effacera toutes les lignes vierges sans no. d’espaces blancs (espaces ou tabulations), c’est-à-dire (0 ou plus) dans le fichier.

Remarque: il y a un "espace" suivi de "\ t" à l'intérieur du crochet.

Le modificateur -i obligera à écrire le contenu mis à jour dans le fichier. Sans cet indicateur, vous pouvez voir les lignes vides supprimées à l'écran, mais le fichier lui-même ne sera pas affecté.

grep '^ ..' mon_fichier

exemple

THIS

IS

THE

FILE

EOF_MYFILE

il ne donne en sortie que des lignes d'au moins 2 caractères.

THIS
IS
THE
FILE
EOF_MYFILE

Voir aussi les résultats avec les sorties grep '^' mon_fichier

<*>

et aussi avec grep '^.' mon_fichier sorties

<*>

Essayez ex -way:

ex -s +'v/\S/d' -cwq test.txt

Pour plusieurs fichiers (modifier sur place):

ex -s +'bufdo!v/\S/d' -cxa *.txt

Sans modifier le fichier (il suffit d'imprimer sur la sortie standard):

cat test.txt | ex -s +'v/\S/d' +%p +q! /dev/stdin

Perl est peut-être excessif, mais cela fonctionne aussi bien.

Supprime toutes les lignes complètement vides:

perl -ne 'print if /./' file

Supprime toutes les lignes complètement vides ou ne contenant que des espaces:

perl -ne 'print if ! /^\s*$/' file

Variation qui modifie l'original et crée un fichier .bak:

perl -i.bak -ne 'print if ! /^\s*$/' file
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top