[ksh] vi, sed et caractères "null" et &
Fermé
Pitu
Messages postés
1440
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
-
23 sept. 2003 à 09:00
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 29 août 2016 à 15:56
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 29 août 2016 à 15:56
A voir également:
- [ksh] vi, sed et caractères "null" et &
- Caractères ascii - Guide
- Caractères spéciaux symboles clavier - Guide
- Caractères spéciaux - Guide
- Clavier mac caractères spéciaux - Guide
- Marketplace vendu par null - Forum Facebook
13 réponses
Pitu
Messages postés
1440
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
26 sept. 2003 à 13:21
26 sept. 2003 à 13:21
Ben ... sur un AIX, si.
Pour preuve :
Edition du fichier par Ultra-Edit via Samba :
En hexa :
Maintenant, sous vi :
Il me manque 2 car sur la ligne des "B", et un sur celle des "E".
Et si je passe la commande pour enlever les ^M, voila ce que j'obtiens :
Et en bas :
=> Il me manque bien des caractères.
Et si je reprends mon fichier sous Ultra-Edit, on voit bien qu'il a carrément viré les [00].
(:•Þ Pitu
Pour preuve :
Edition du fichier par Ultra-Edit via Samba :
AAAAAAAAAA BBBBBB..BB CCCCCCCCCC DDDDDDDDDD EEEEE.EEEE
En hexa :
41 41 41 41 41 41 41 41 41 41 0D 0A 42 42 42 42 42 42 00 00 42 42 0D 0A 43 43 43 43 43 43 43 43 43 43 0D 0A 44 44 44 44 44 44 44 44 44 44 0D 0A 45 45 45 45 45 00 45 45 45 45 0D 0A
Maintenant, sous vi :
AAAAAAAAAA^M BBBBBBBB^M CCCCCCCCCC^M DDDDDDDDDD^M EEEEEEEEE^MAvec en bas de la page, le msg suivant :
"test00.x" [Incomplete last line] 5 lines, 58 characters (3 nulls)Tu vois le pb ?
Il me manque 2 car sur la ligne des "B", et un sur celle des "E".
Et si je passe la commande pour enlever les ^M, voila ce que j'obtiens :
AAAAAAAAAA BBBBBBBB CCCCCCCCCC DDDDDDDDDD EEEEEEEEE
Et en bas :
"test00.x" 5 lines, 52 characters
=> Il me manque bien des caractères.
Et si je reprends mon fichier sous Ultra-Edit, on voit bien qu'il a carrément viré les [00].
(:•Þ Pitu
Sauvez mon hamac, Bouffez Castor !
Pitu
Messages postés
1440
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
26 sept. 2003 à 08:36
26 sept. 2003 à 08:36
Je remonte vers la surface ...
(:•Þ Pitu
(:•Þ Pitu
Sauvez mon hamac, Bouffez Castor !
Moi j'ai eu le même problème, j'ai utilisé dos2unix
Pour un fichier
cat fic.txt | dos2unix >newfic.txt
ou pour une variable
result=`echo $result | dos2unix`
Pour un fichier
cat fic.txt | dos2unix >newfic.txt
ou pour une variable
result=`echo $result | dos2unix`
en aiFTéPeutant dans le bon mode !
(ascii/binaire)
tout simplement
si apres il reste des caracteres bidons (c'est pas possible en theorie, mais bon) dans vi et uniquement dans VI ! tu fais
:s/^M//
pour avoir le controlM quand tu tappes cette commande tu tapes en realitee ca :
:s/[CONTROL+V][ENTER]//
control+v etant la touche control+v en meme temps
et enter la touche entree.
(ascii/binaire)
tout simplement
si apres il reste des caracteres bidons (c'est pas possible en theorie, mais bon) dans vi et uniquement dans VI ! tu fais
:s/^M//
pour avoir le controlM quand tu tappes cette commande tu tapes en realitee ca :
:s/[CONTROL+V][ENTER]//
control+v etant la touche control+v en meme temps
et enter la touche entree.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PS: tu peux le faire dans un script VI a condition d'ecrire celui ci avec VI.
#!/usr/bin/ksh
.........
vi foo.bar << EOT
:s/^M//
:x!
EOT
..........
exit 0
#!/usr/bin/ksh
.........
vi foo.bar << EOT
:s/^M//
:x!
EOT
..........
exit 0
Pitu
Messages postés
1440
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
26 sept. 2003 à 13:03
26 sept. 2003 à 13:03
Bonjour et merci de ta réponse.
Mais malheureusement, elle ne me convient pas vraiment :
En effet, si j'ai ce pb de caractères ^M, c'est bien à cause du ftp Samba, mais je ne peux traiter la cause à la base. C'est donc pourquoi je cherche à trouver une solution pour les éliminer à postériori.
Reste donc la solution par script ou par shell (cf début du post).
Et ça marche : ça m'enlève bien les ^M. Mais ça, je l'avais déjà fait.
Pb : ça n'enlève pas que ça puisque les commandes de l'éditeur suppriment également les caractères "null" (hexa : [00]).
Et ça, je ne veux pas.
Si quelqu'un a une solution ...
(Batmat, t'es pas là ???)
(:•Þ Pitu
Mais malheureusement, elle ne me convient pas vraiment :
En effet, si j'ai ce pb de caractères ^M, c'est bien à cause du ftp Samba, mais je ne peux traiter la cause à la base. C'est donc pourquoi je cherche à trouver une solution pour les éliminer à postériori.
Reste donc la solution par script ou par shell (cf début du post).
Et ça marche : ça m'enlève bien les ^M. Mais ça, je l'avais déjà fait.
Pb : ça n'enlève pas que ça puisque les commandes de l'éditeur suppriment également les caractères "null" (hexa : [00]).
Et ça, je ne veux pas.
Si quelqu'un a une solution ...
(Batmat, t'es pas là ???)
(:•Þ Pitu
Sauvez mon hamac, Bouffez Castor !
ben ouai je cromprend pas...
normalement ca marche...
quelle idee de bosser sur IBM aussi...
lol ;-)
normalement ca marche...
quelle idee de bosser sur IBM aussi...
lol ;-)
coppernix
Messages postés
63
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2004
4
7 oct. 2003 à 09:22
7 oct. 2003 à 09:22
Bonjour,
Pour traiter du binaire, il faut utiliser une commande adéquate telle que hexedit.
Sinon, essaie les commandes telles que dos2unix.
Pour traiter du binaire, il faut utiliser une commande adéquate telle que hexedit.
Sinon, essaie les commandes telles que dos2unix.
Pitu
Messages postés
1440
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
7 oct. 2003 à 11:16
7 oct. 2003 à 11:16
Merci de ta réponse, Coppernix, mais je suis sur AIX, avec les commandes de bases du Korn-shell ...
(:•Þ Pitu
(:•Þ Pitu
Ni modo, ni même quasi modo
coppernix
Messages postés
63
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2004
4
7 oct. 2003 à 12:14
7 oct. 2003 à 12:14
OK, va voir ici :
http://aixpdslib.seas.ucla.edu/packages/hexedit.html
http://aixpdslib.seas.ucla.edu/packages/hexedit.html
Moi j'ai eu le même problème, j'ai utilisé dos2unix
Pour un fichier
cat fic.txt | dos2unix >newfic.txt
ou pour une variable
result=`echo $result | dos2unix`
Pour un fichier
cat fic.txt | dos2unix >newfic.txt
ou pour une variable
result=`echo $result | dos2unix`
bonjour
comment convertir le caractère Hexadécimal 00 en 20 sur AIX si l'on a pas dos2unix ni hexedit.
comment convertir le caractère Hexadécimal 00 en 20 sur AIX si l'on a pas dos2unix ni hexedit.
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
29 août 2016 à 15:56
29 août 2016 à 15:56
Tu commences par ouvrir un nouveau sujet.
Celui-ci a été initié en septembre 2003 de notre ère (heureusement).
Celui-ci a été initié en septembre 2003 de notre ère (heureusement).