Obtenir une seule ligne avec 2 lignes

Résolu
tof_25 -  
 tof_25 -
Bonjour,

Sous UNIX, j'ai le fichier fic avec le contenu suivant :

commande1 commande2 commande3 \
commande4 commande5


Comment faire pour supprimer le caractère '\' ainsi que le retour chariot afin d'obtenir qu'une seule ligne? :
commande1 commande2 commande3 commande4 commande5

Je souhaiterai avec une commande du style :

cat fic | sed s/'\\'//g

Mais cette dernière est incomplète pour arriver au résultat désiré.

Merci pour votre aide.

A+
A voir également:

3 réponses

snouts Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   10
 
le caractère fin de ligne + retour chariot c'est \n
0
tof_25
 
Oui, je sais mais comment l'inclure dans ma commande initiale?

Merci
0
tof_25
 
C'est bon, j'ai trouvé une solution :

cat fic | awk '{ if (sub(/\\$/,"")) printf "%s", $0; else printf "%s\n", $0 }'

Résultat :
commande1 commande2 commande3 commande4 commande5

Merci pour votre aide quand même

A+
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,
lami20j@debian:~/trash$ cat bbb
commande1 commande2 commande3 \
commande4 commande5
lami20j@debian:~/trash$ sed ':s;N;s/\\\n//;bs' bbb
commande1 commande2 commande3 commande4 commande5

Source Substituer les fins de lignes par un espace
Merci jipicy ;-)
0
tof_25
 
Salut

En fait, j'ai trouvé une solution mais ton exemple ne marche pas chez moi :

>sed ':s;N;s/\\\n/ /;bs' fic3
sed: 0602-417 The label :s;N;s/\\\n/ /;bs is greater than eight characters.
0