[bash] Problème pour enchaînement de commandes

Résolu
mothers_of_intention Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
mothers_of_intention Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous,

Je suis débutante en programmation je m'excuse d'avance si la question s'avère naïve...

J'ai pour but de nettoyer un certain nombre de fichiers .txt, je voulais donc enlever tous les espaces et tabulation de début de lignes, ensuite enlever toutes les lignes commençant par des +#* après tout ça, enlever les lignes en double dans l'ensemble du fichier.

J'ai réussi à faire quelque chose comme ça:

 sed 's/[ \t]*//' toto.txt > toto2.txt | sed '/^#|*|+/d' toto2.txt > toto3.txt | awk '!a[$0]++' toto3.txt > toto4.txt 

mais je me dis qu'il doit bien y avoir la possibilité d'enchaîner les commandes sans créer 2 fichier en plus ?!

Alors j'ai tenté ça :
 sed 's/[ \t]*//' | sed '/^#|*|+/d' | awk '!a[$0]++' toto.txt > toto2.txt 

ainsi que d'autre variantes (avec ; ou &&) , et ça ne donne rien...

Donc je sais pas si je cafouille, et où est-ce que je cafouille...

En vous remerciant d'avance pour votre aide! Bonne journée!
A voir également:

2 réponses

UnGars
 
Salut,

sed 's/^[ \t]*//;/^\(#\|*\|+\)/d' toto.txt | awk '!a[$0]++' > toto2.txt
1
mothers_of_intention Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
aaaahhhhhhh !! merci !!
ça fonctionne très bien sans passer par 46 000 fichiers!
Merci!!
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
cat data.txt
TAB
##Comment
+Hello
*pointer


sed -e 's/^[#\+\*\t]\+//' data.txt 
TAB
Comment
Hello
pointer




Gates gave ^W  sold  you the windows.
GNU gave us the whole house.(Alexandrin)
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Ce n'est pas ce qui est demandé ;-\

je voulais donc enlever tous les espaces et tabulation de début de lignes,
Ça c'est bon ;-)

ensuite enlever toutes les lignes commençant par des +#*
Ça ce n'est pas bon ;-(
0