Commandes multiligne sur une ligne

Résolu/Fermé
rastapopey - 19 mars 2009 à 13:37
 rastapopey - 20 mars 2009 à 10:21
Bonjour,

Afin de pouvoir traiter plus facilement un fichier a l'aides de filtres simple du type grep,
je voudrais au prealable remettre en forme le fichier a traiter.

Pour des raisons de lisibilité, celui ci est formaté avec des commandes sur plusieurs lignes protégées
par des antislash. Mais ça me gêne pour faire mon grep.

Exemple :

cat fichier
commande \
toto tata titi \
tutu toutou
commande2 \
popo papa \
pupu pipi

Je voudrais
commande toto tata titi tutu toutou
commande2 popo papa pupu pipi

Je suis sur qu'avec un sed ou un awk, ça peut se faire en un rien de temps, mais je ne maîtrise pas assez ces puissants outils :(

Any idea ?

Merci.
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
19 mars 2009 à 13:46
Salut,
Pour sauvegarder dans un fichier différent :
sed ':z;N;s/\\\n// ;bz' fichier > fichierToutBeau

Pour modifier le même fichier :
sed -i ':z;N;s/\\\n// ;bz' fichier
1
merci,

par contre j'ai un message d'erreur :
bash-3.00$ sed ':z;N;s/\\\n// ;bz' file2
Label too long: :z;N;s/\\\n// ;bz

je suis en bash sous solaris 10 x86
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
19 mars 2009 à 14:36
Utilise donc :
sed -e :z -e 'N;s/\\\n//;bz' file2
0
rastapopey > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
19 mars 2009 à 15:38
Merci pour ta patience, je n'ai plus le message d'erreur, mais j'ai rien en sortie

bash-3.00$ sed -e :z -e 'N;s/\\\n//;bz' file2
bash-3.00$

L'as tu testé chez toi ?
0
XxTitxX Messages postés 1176 Date d'inscription samedi 24 mai 2008 Statut Membre Dernière intervention 30 août 2012 246 > rastapopey
19 mars 2009 à 15:40
Lorsqu'une commande passe bien, généralement linux ne met rien en sortie, à moins que ce soit une commande qui génère une sortie sur le terminal...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841 > XxTitxX Messages postés 1176 Date d'inscription samedi 24 mai 2008 Statut Membre Dernière intervention 30 août 2012
19 mars 2009 à 15:47
Ca tombe bien, sed employé tel quel, doit émettre une sortie sur le terminal ;-).
0
rastapopey > XxTitxX Messages postés 1176 Date d'inscription samedi 24 mai 2008 Statut Membre Dernière intervention 30 août 2012
19 mars 2009 à 15:47
Ben justement l'objectif ici est de traiter un fichier pour le reformatter, donc je veux voir le fichier reformatté sur la sortie standard ou un fichier, mais là y'a rien ...
0