[script shell]

Résolu/Fermé
aruju Messages postés 2213 Date d'inscription dimanche 29 octobre 2006 Statut Contributeur Dernière intervention 15 novembre 2014 - 21 août 2007 à 19:29
aruju Messages postés 2213 Date d'inscription dimanche 29 octobre 2006 Statut Contributeur Dernière intervention 15 novembre 2014 - 21 août 2007 à 20:25
bonjour,

je ne sais pour quel raison lors de création des pages html le NVU génère énormément de lignes vides et comme je n'ai pas trouvé de logiciels pour les effacer je me suis dis que un script shell serrai une solution, seul souci ce que moi + shell = 0

alors si quelqu'un pouvait m'aider ca serai sympa :-)

merci
A voir également:

10 réponses

Bonjour,

cat monFichier | grep -iv "^$" > monNouveaFichierSansLignesVides

(y'a des meilleures solutions)

Bonne journée
0
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 177
21 août 2007 à 19:31
bonjour,
un simple editeur de texe, te permets de faire cela .
a+
0
aruju Messages postés 2213 Date d'inscription dimanche 29 octobre 2006 Statut Contributeur Dernière intervention 15 novembre 2014 403
21 août 2007 à 19:33
un simple editeur de texe, te permets de faire cela .

oui à la main
0
aruju Messages postés 2213 Date d'inscription dimanche 29 octobre 2006 Statut Contributeur Dernière intervention 15 novembre 2014 403
21 août 2007 à 19:43
merci Marc mais ton script ne me permet pas d'enlever tous les espaces..

exemple:

entre la 1ere et 2eme ligne j'ai une 10aine de lignes vides et ta commande me permet d'enlever que 5 lignes vides

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
grep -iv tonFichier "^ *$" > tonNouveauFichier

Effectivement, j'avais oublié les lignes avecs des ' '.

Petite explication :
'^' = début de ligne
' ' = caractère espace
'*' = 0 a infini de fois caractère précédent, donc le ' '
'$' = fin de fichier

Pour plus d'infos : man grep

Bonne journée !
0
Autocorrection :
'$' = fin de ligne biensur ! (et pas de fichier)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
21 août 2007 à 19:50
Salut,
y'a des meilleures solutions
pas besoin de cat :-)

lami20j@deb:~/trash$ cat fichier
jsdklfjsdkl



sdkfjklsd



sdkfjlsd

lami20j@deb:~/trash$ grep -v '^$' fichier
jsdklfjsdkl
sdkfjklsd
sdkfjlsd
lami20j@deb:~/trash$ grep -v '^$' fichier > resultat
lami20j@deb:~/trash$ cat resultat
jsdklfjsdkl
sdkfjklsd
sdkfjlsd
lami20j@deb:~/trash$
aussi avec sed, modification sur place, le fichier original sera sauvegarder avec l'extension .orig
lami20j@deb:~/trash$ cat fichier
jsdklfjsdkl



sdkfjklsd



sdkfjlsd

lami20j@deb:~/trash$ sed -i.orig '/^\s*$/'d fichier
lami20j@deb:~/trash$ cat fichier
jsdklfjsdkl
sdkfjklsd
sdkfjlsd
lami20j@deb:~/trash$ cat fichier.orig
jsdklfjsdkl



sdkfjklsd



sdkfjlsd

lami20j@deb:~/trash$

0
Bien vu!
Noter qu'en +, j'avais inversé la syntaxe du 'grep'... expression/nomfichier
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
21 août 2007 à 19:55
pour prendre en compte aussi les eventuels espaces avec grep
grep -v '^ *$' fichier > resultat

0
aruju Messages postés 2213 Date d'inscription dimanche 29 octobre 2006 Statut Contributeur Dernière intervention 15 novembre 2014 403
21 août 2007 à 19:56
merci a vous deux :-) les deux commandes marche, cela dit la solution de lami20j (avec le sauvegarde de fichier d'origine) c'est ce que j'ai cherché

merci encore
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
21 août 2007 à 20:21
Salut,

Un peu tard, mais au besoin : sed trucs et astuces#suppression

;-))
0
aruju Messages postés 2213 Date d'inscription dimanche 29 octobre 2006 Statut Contributeur Dernière intervention 15 novembre 2014 403
21 août 2007 à 20:25
merci jipicy, j'y pas pensé de cherché dans le faq :-((
0