Problème avec sed sous unix (solaris10)
Résolu/Fermé
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
-
Modifié par GHISLINO le 30/04/2012 à 18:25
dubcek Messages postés 18719 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 mai 2024 - 1 mai 2012 à 16:41
dubcek Messages postés 18719 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 mai 2024 - 1 mai 2012 à 16:41
A voir également:
- Problème avec sed sous unix (solaris10)
- Fichier executable unix ✓ - Forum MacOS
- Sed supprimer ligne vide - Forum Linux / Unix
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Shell
- Telecharger unix ✓ - Forum Linux / Unix
- Unix iso ✓ - Forum Linux / Unix
8 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
30 avril 2012 à 18:44
30 avril 2012 à 18:44
Salut,
Es-tu sûr que ce sont bien des tabulations ?
Affiche le résultat de la commande :
N'oublie pas d'encadrer ta commande avec les balises <code></code> (le pictogramme "<>" dans l'éditeur de texte de CCM, afin qu'on voit bien le formatage de ton fichier.
Es-tu sûr que ce sont bien des tabulations ?
Affiche le résultat de la commande :
cat -A ton_fichier
N'oublie pas d'encadrer ta commande avec les balises <code></code> (le pictogramme "<>" dans l'éditeur de texte de CCM, afin qu'on voit bien le formatage de ton fichier.
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
30 avril 2012 à 18:57
30 avril 2012 à 18:57
salut
sous UNIX la commande n 'est pas reconnu
par contre sous Linux
sous UNIX la commande n 'est pas reconnu
cat -A fichier.txt cat: illegal option -- A usage: cat [ -usvtebn ] [-|file] ...
par contre sous Linux
cat -A fichier.txt 20;7^I1^IDIOCESE-1^I9181^I401^I612^IF03^I1^I0^I0^I0^I0^I0^I0^I0^I0^I0^I54^I255^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0$ 20;7^I1^IDIOCESE-1^I9181^I401^I612^IF03^I2^I0^I0^I0^I0^I0^I0^I0^I0^I0^I222^I1631^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0$ 20;7^I1^IDIOCESE-1^I9181^I401^I612^IF03^I3^I0^I0^I0^I0^I0^I0^I0^I0^I0^I124^I849^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0$ 20;7^I1^IDIOCESE-1^I9181^I401^I612^IF03^I4^I17^I0^I584^I0^I584^I0^I0^I0^I584^I0^I0^I0^I14^I4^I0^I4^I0^I0^I0^I3^I14^I0^I0^I0$ 20;7^I2^IDIOCESE-2^I9182^I401^I612^IF03^I1^I0^I0^I0^I0^I0^I0^I0^I0^I0^I192^I680^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0$ 20;7^I2^IDIOCESE-2^I9182^I401^I612^IF03^I2^I0^I0^I0^I0^I0^I0^I0^I0^I0^I405^I1385^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0^I0$
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
Modifié par zipe31 le 30/04/2012 à 19:03
Modifié par zipe31 le 30/04/2012 à 19:03
Sous GNU/Linux c'est bien des tabulations.
Par contre c'est sous Solaris qu'il faudrait être sûr ;-\
Essaye avec :
Sinon pour supprimer les espaces essayes avec :
Pour la 1ère expression c'est 2 espaces qu'il y a avant l'astérisque.
Par contre c'est sous Solaris qu'il faudrait être sûr ;-\
Essaye avec :
sed -n l fichier.txtC'est un ELLE minuscule et non pas un UN ou un i majuscule.
Sinon pour supprimer les espaces essayes avec :
sed 's/ */;/g' fichier.txtou
sed 's/\s\+/;/g' fichier.txt
Pour la 1ère expression c'est 2 espaces qu'il y a avant l'astérisque.
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
30 avril 2012 à 19:13
30 avril 2012 à 19:13
salut
merci de trouver ci-dessous les resulats
pour
pas de changement
merci de trouver ci-dessous les resulats
pour
sed -n l fichier.txt 20;7>1>DIOCESE-1>9181>401>612>F03>1>0>0>0>0>0\ >0>0>0>0>54>255>0>0>0>0>0>0>0>0>0>0>0\ >0>0 20;7>1>DIOCESE-1>9181>401>612>F03>2>0>0>0>0>0\ >0>0>0>0>222>1631>0>0>0>0>0>0>0>0>0>0>0\ >0>0 20;7>1>DIOCESE-1>9181>401>612>F03>3>0>0>0>0>0\
sed 's/ */;/g' fichier.txtet
sed 's/\s\+/;/g' fichier.txt
pas de changement
20;7 1 DIOCESE-1 9181 401 612 F03 1 0 0 0 0 0 0 0 0 0 54 255 0 0 0 0 0 0 0 0 0 0 0 0 0 20;7 1 DIOCESE-1 9181 401 612 F03 2 0 0 0 0 0 0 0 0 0 222 1631 0 0 0 0 0 0 0 0 0 0 0 0 0 20;7 1 DIOCESE-1 9181 401 612 F03 3 0 0 0 0 0 0 0 0 0 124 849 0 0 0 0 0 0 0 0 0 0 0 0 0 20;7 1 DIOCESE-1 9181 401 612 F03 4 17 0 584 0 584 0 0 0 584 0 0 0 14
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
30 avril 2012 à 19:20
30 avril 2012 à 19:20
Arf ;-(((
Je ne sais pas à quoi correspond cet affichage 20;7>1>DIOCESE-1, enfin surtout les chevrons ;-((
Quand tu dis "pas de changement " c'est bien de l'affichage à l'écran dont on parle, pas d'un changement direct dans le fichier lui même hein ?
En dernier recours, affiche la sortie de :
Ou bien essaies de mettre un bout de ton fichier sur Cjoint histoire de voir quels sont les caractères qui nous enquiquinent ;-\
Je ne sais pas à quoi correspond cet affichage 20;7>1>DIOCESE-1, enfin surtout les chevrons ;-((
Quand tu dis "pas de changement " c'est bien de l'affichage à l'écran dont on parle, pas d'un changement direct dans le fichier lui même hein ?
En dernier recours, affiche la sortie de :
od -ax fichier.txt
Ou bien essaies de mettre un bout de ton fichier sur Cjoint histoire de voir quels sont les caractères qui nous enquiquinent ;-\
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
30 avril 2012 à 19:44
30 avril 2012 à 19:44
salut
la commande
j'ai joint le fichier ci joint le lien
https://www.cjoint.com/?3DEtOTaX9R5
merci d'avance
la commande
od -axn'est pas reconnu sous UNIX
od -ax fichier.txt usage: od [-bcCdDfFoOsSvxX] [-] [file] [offset_string] od [-bcCdDfFoOsSvxX] [-t type_string]... [-A address_base] [-j skip] [-N count] [-] [file...]
j'ai joint le fichier ci joint le lien
https://www.cjoint.com/?3DEtOTaX9R5
merci d'avance
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
30 avril 2012 à 19:54
30 avril 2012 à 19:54
Ben c'est bien des tabulations que j'ai aussi ;-\
C'était bien le fichier issue de ton Solaris, pas celui de ta distrib GNU/Linux ?
Sinon pour "od" essaie avec "od -cx"
Et en dernier recours, essaies avec le code hexa :
C'était bien le fichier issue de ton Solaris, pas celui de ta distrib GNU/Linux ?
Sinon pour "od" essaie avec "od -cx"
Et en dernier recours, essaies avec le code hexa :
sed 's/\x09/;/g' fichier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
30 avril 2012 à 20:06
30 avril 2012 à 20:06
salut
le resultat de
par contre la
tu connait l'éditeur awk je pense qu'on peut explorer ce chemin
merci
le resultat de
od -cx fichier.txt
0000000 2 0 ; 7 \t 1 \t D I O C E S E - 1 3230 3b37 0931 0944 494f 4345 5345 2d31 0000020 \t 9 1 8 1 \t 4 0 1 \t 6 1 2 \t F 0 0939 3138 3109 3430 3109 3631 3209 4630 0000040 3 \t 1 \t 0 \t 0 \t 0 \t 0 \t 0 \t 0 \t 3309 3109 3009 3009 3009 3009 3009 3009 0000060 0 \t 0 \t 0 \t 5 4 \t 2 5 5 \t 0 \t 0 3009 3009 3009 3534 0932 3535 0930 0930 0000100 \t 0 \t 0 \t 0 \t 0 \t 0 \t 0 \t 0 \t 0 0930 0930 0930 0930 0930 0930 0930 0930
par contre la
sed 's/\x09/;/g' fichierne fonction toujours pas
20;7 1 DIOCESE-1 9181 401 612 F03 1 0 0 0 0 0 0 0 0 0 54 255 0 0 0 0 0 0 0 0 0 0 0 0 0 20;7 1 DIOCESE-1 9181 401 612 F03 2 0 0 0 0 0 0 0 0 0 222 1631 0 0 0 0 0 0 0 0 0 0 0 0 0 20;7 1 DIOCESE-1 9181 401 612 F03 3 0 0 0 0 0 0 0 0 0 124 849 0 0 0 0 0 0 0 0 0 0 0 0 0 20;7 1 DIOCESE-1 9181 401 612 F03 4 17 0 584 0 584 0 0 0 584 0 0 0 14
tu connait l'éditeur awk je pense qu'on peut explorer ce chemin
merci
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
30 avril 2012 à 20:56
30 avril 2012 à 20:56
Oups j'avais raté dans le fichier (cjoint) les fins de lignes à la sauce Micro$oft :-(((
Il faut convertir ton fichier au format Unix avec dos2unix avant.
Il faut convertir ton fichier au format Unix avec dos2unix avant.
dubcek
Messages postés
18719
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 mai 2024
5 615
1 mai 2012 à 08:10
1 mai 2012 à 08:10
hello
utiliser tr
utiliser tr
$ tr '\t' ';' < fichier | tr -d '\r'
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 408
1 mai 2012 à 10:06
1 mai 2012 à 10:06
Salut,
Bien vu ;-))
Bien vu ;-))
dubcek
Messages postés
18719
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 mai 2024
5 615
1 mai 2012 à 10:16
1 mai 2012 à 10:16
merci, ou utiliser nawk (et pas awk sur Solaris)
$ nawk '{gsub("\t", ";");sub("\r", "") ; print}' fichier
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
1 mai 2012 à 16:26
1 mai 2012 à 16:26
salut dubcek
les deux codes fonctionnent très bien,
sincèrement tu es formidable , j'aimerais avoir ton niveau
merci à toi et si tu as des bouquins à me conseiller ça sera la bienvenue.
merci à toi aussi zipe31 pour ta disponibilité.
"je serais le plus heureux de la terre s'il m'arrivait à être l'ami de tout le monde"
les deux codes fonctionnent très bien,
sincèrement tu es formidable , j'aimerais avoir ton niveau
merci à toi et si tu as des bouquins à me conseiller ça sera la bienvenue.
merci à toi aussi zipe31 pour ta disponibilité.
"je serais le plus heureux de la terre s'il m'arrivait à être l'ami de tout le monde"
dubcek
Messages postés
18719
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
4 mai 2024
5 615
1 mai 2012 à 16:41
1 mai 2012 à 16:41
les bouquins que je recommanderais (et un peu les seuls que je connaisse !!) sont chez O'reilly
http://search.oreilly.com/?q=unix&x=0&y=0
http://search.oreilly.com/?q=unix&x=0&y=0