#1 Le 11/11/2007, à 22:28
- graffity2199
[RESOLU] Suppression du caractère "Saut de ligne"
Bonjour à tous,
Pour la réalisation d'un script bash, j'ai besoin de supprimer tous les caractères "saut de ligne" d'un fichier texte, ou \n dont le code hexadécimal est 0a.
Malgré mes recherches sur la commande sed, cela ne marche pas.
J'ai essayé les commandes suivantes, sans succès :
sed 'N;s/\xOa//g' fichier1.txt > fichier2.txt
sed 'N;s/\n//g' fichier1.txt > fichier2.txt
J'ai également essayé de doubler les \ et d'enlever le N qui permet de lire la ligne suivante. En fait, la deuxième commande m'en supprimer certains mais pas tous !
Le but est donc de trouver une commande qui transforme mon fichier txt en 1 seule ligne.
Merci d'avance
Dernière modification par graffity2199 (Le 12/11/2007, à 19:40)
Hors ligne
#2 Le 11/11/2007, à 22:50
- sywave
Re : [RESOLU] Suppression du caractère "Saut de ligne"
salut ! alors je ne sais pas si ca va t'aider mais il me semble qu'il faut aussi enlever le caractere 13 (à vérifier) mais en lisant un fichier caractere par caractere, il me semble etre tombé sur le caractere 10(new line) et 13(carraige return) pour le retour chariot.
bon courage
Hors ligne
#3 Le 11/11/2007, à 22:51
- abetsic
Re : [RESOLU] Suppression du caractère "Saut de ligne"
Bonsoir,
tu peux essayer
tr '\n' ' '
qui supprime les sauts de lignes.
Hors ligne
#4 Le 12/11/2007, à 03:54
- Alain.g
Re : [RESOLU] Suppression du caractère "Saut de ligne"
Bonjour
Avec sed, il faudrait s'y prendre comme ceci :
sed ':a;N;$!ba;s/\n//g' fichier1.txt > fichier2.txt
Comme le conseille abetsic, il est plus simple d'utiliser tr.
Pour juste supprimer, sans remplacer :
tr -d '\n' < fichier1.txt > fichier2.txt
Dernière modification par Alain.g (Le 12/11/2007, à 03:56)
Xubuntu Karmic !
Hors ligne
#5 Le 12/11/2007, à 19:09
- Link31
Re : [RESOLU] Suppression du caractère "Saut de ligne"
salut ! alors je ne sais pas si ca va t'aider mais il me semble qu'il faut aussi enlever le caractere 13 (à vérifier)
Seulement dans les fichiers créés sous windows.
Et pour simplifier encore le problème, sous Mac OS <= 9 c'était 13 uniquement...
Hors ligne
#6 Le 12/11/2007, à 19:43
- graffity2199
Re : [RESOLU] Suppression du caractère "Saut de ligne"
Merci à tous, j'ai finalement utilisé la commande
tr -d '\r\n' < fichier1.txt > fichier2.txt
pour également supprimer les retours chariots et les sauts de lignes étant donné que je ne sais pas si j'ai un fichier unix ou dos.
Cela marche également avec la commande
sed ':a;N;$!ba;s/\n//g' fichier1.txt > fichier2.txt
par contre je ne comprend pas les caratcères en début de commande : :a;N;$!ba; ; si quelqu'un pouvait m'expliquer.
En tout cas merci à tous.
Hors ligne
#7 Le 09/12/2008, à 01:59
- luron
Re : [RESOLU] Suppression du caractère "Saut de ligne"
par contre je ne comprend pas les caratcères en début de commande : :a;N;$!ba; ; si quelqu'un pouvait m'expliquer.
+1
Merci.
Hors ligne