GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer les lignes vides d'un fichier (y compris les tabulations et les espaces) ?

Je veux supprimer toutes les lignes vides d'un fichier. Même si la ligne contient des espaces ou des tabulations, elle doit également être supprimée.

Réponse acceptée :

Juste grep pour les non-blancs :

grep '[^[:blank:]]' < file.in > file.out

[:blank:] , à l'intérieur des plages de caractères ([...] ), est appelée une classe de caractères POSIX. Il y en a quelques-uns comme [:alpha:] , [:digit:][:blank:] correspond à l'espace blanc horizontal (dans les paramètres régionaux POSIX, c'est l'espace et la tabulation, mais dans d'autres paramètres régionaux, il pourrait y en avoir plus, comme tous les caractères d'espacement horizontal Unicode dans les paramètres régionaux UTF8) tandis que [[:space:]] correspond aux caractères d'espace blancs horizontaux et verticaux (identique à [:blank:] plus des choses comme l'onglet vertical, le saut de page…).

grep '[:blank:]'

Renverrait les lignes qui contiennent l'un des caractères, : , b , l , a , n ou k . Les classes de caractères ne sont reconnues que dans [...] , et ^ dans [...] nie l'ensemble. Donc [^[:blank:]] signifie n'importe quel caractère sauf les blancs.


Linux
  1. Comment supprimer le Bom d'un fichier UTF-8 ?

  2. Compter les lignes, les mots et les caractères d'un fichier sous Linux

  3. Comment supprimer les lignes qui apparaissent sur le fichier B d'un autre fichier A ?

  4. Supprimer les lignes paires ou impaires d'un fichier texte

  5. Comment puis-je cater un fichier et supprimer les lignes commentées ?

Comment supprimer le mot de passe d'un fichier PDF sous Linux

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment supprimer les espaces des noms de fichiers sous Linux

Comment supprimer tous les espaces blancs d'un fichier texte

Comment installer un logiciel à partir du code source… et le supprimer ensuite