Formatage de fichier texte
Résolu/Fermé
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
-
19 oct. 2007 à 10:46
tlep Messages postés 596 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 25 octobre 2012 - 19 oct. 2007 à 15:33
tlep Messages postés 596 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 25 octobre 2012 - 19 oct. 2007 à 15:33
A voir également:
- Formatage de fichier texte
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir fichier .bin - Guide
29 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 oct. 2007 à 10:48
19 oct. 2007 à 10:48
Salut,
file fichierne te conviens pas?
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 10:55
19 oct. 2007 à 10:55
Si mais je ne connaissais pas, merci ;-)
Et ca ne fonctionne pas exactement comme attendu:
file index.php
index.php: PHP script text
Ca ne me dit pas si c'est du UNIX, MAC ou PC.
Je me posais la question parce que les greps fonctionnent mal parfois sur des fichiers formatés PC, et du coup j'applique dos2unix dessus; mais je me demandais si'il existait une commande pour spécifier le type avant.
Et ca ne fonctionne pas exactement comme attendu:
file index.php
index.php: PHP script text
Ca ne me dit pas si c'est du UNIX, MAC ou PC.
Je me posais la question parce que les greps fonctionnent mal parfois sur des fichiers formatés PC, et du coup j'applique dos2unix dessus; mais je me demandais si'il existait une commande pour spécifier le type avant.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 11:22
19 oct. 2007 à 11:22
Salut,
Alors teste les fins de ligne de ton fichier avant (le "^M" s'obtient par "CTRL V + CTRL M) :
Alors teste les fins de ligne de ton fichier avant (le "^M" s'obtient par "CTRL V + CTRL M) :
[tmpfs]$ grep '^M' fich_DOS.txt >/dev/null [tmpfs]$ echo $? 0 [tmpfs]$ grep '^M' fich_UNIX.txt >/dev/null [tmpfs]$ echo $? 1 [tmpfs]$et traite en fonction du résultat du code retour ;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 oct. 2007 à 11:23
19 oct. 2007 à 11:23
Ah, d'accord
en fait tu veux tester si la fin de ligne est
\n - UNIX
\r - MAC
\n\r - WIN
Alors tu peux faire un script pour tester la fin de ligne
Si \n Alors UNIX
etc.
en fait tu veux tester si la fin de ligne est
\n - UNIX
\r - MAC
\n\r - WIN
Alors tu peux faire un script pour tester la fin de ligne
Si \n Alors UNIX
etc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 11:25
19 oct. 2007 à 11:25
ah ok merci a vous ;-)
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 11:38
19 oct. 2007 à 11:38
Ah ben non ca ne marche pas;
j'ai fait des tests sur des fichiers en format pc ou unix, grep '^M' fich_DOS.txt >/dev/null et $? renvoie toujours 1.
J'ai pourtant bien vérifié puisque au format PC size=23: et après dos2unix: size=20.
Et le grep sur \n ou \r ne renvoie rien
:-|
j'ai fait des tests sur des fichiers en format pc ou unix, grep '^M' fich_DOS.txt >/dev/null et $? renvoie toujours 1.
J'ai pourtant bien vérifié puisque au format PC size=23: et après dos2unix: size=20.
Et le grep sur \n ou \r ne renvoie rien
:-|
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 11:46
19 oct. 2007 à 11:46
Affiche tes fichiers avec "cat -A" s'il te plait.
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 12:17
19 oct. 2007 à 12:17
cat -A Document1.txt
thierry^M$
test ^M$
ascii^M$
dos2unix Document1.txt && cat -A Document1.txt
thierry$
test $
ascii$
thierry^M$
test ^M$
ascii^M$
dos2unix Document1.txt && cat -A Document1.txt
thierry$
test $
ascii$
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 oct. 2007 à 12:19
19 oct. 2007 à 12:19
Pour les fichiers MAC, je te conseille de faire d'abord la conversion de \r en \n ou d'ajouter le \n si tu veux avoir un fichier Win
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 12:30
19 oct. 2007 à 12:30
Affiche maintenant tes commandes sur tes fichiers et le résultat à l'écran, merci.
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 12:49
19 oct. 2007 à 12:49
grep '^M' Document1.txt >/dev/null;echo $?
1
stat Document1.txt|grep Size|awk '{print $1$2}'
Size:27
dos2unix Document1.txt && grep '^M' Document1.txt >/dev/null;echo $?
1
stat Document1.txt|grep Size|awk '{print $1$2}'
Size:22
1
stat Document1.txt|grep Size|awk '{print $1$2}'
Size:27
dos2unix Document1.txt && grep '^M' Document1.txt >/dev/null;echo $?
1
stat Document1.txt|grep Size|awk '{print $1$2}'
Size:22
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 13:08
19 oct. 2007 à 13:08
Bon concernant la taille avec "stat", essaie plutôt :
stat -c 'Size : %s' fichieret pour en revenir à ton autre problème, affiche le résultat de :
cat -A Document1.txt && grep '^M' Document1.txtsur le fichier formaté en DOS.
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 14:18
19 oct. 2007 à 14:18
cat -A Document1.txt && grep '^M' Document1.txt
thierry^M$
test ^M$
ascii^M$
^M$
^M$
Etonnant !
thierry^M$
test ^M$
ascii^M$
^M$
^M$
Etonnant !
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 14:25
19 oct. 2007 à 14:25
Essaye avec "grep -E" (ou egrep), pour voir ;-\
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 14:27
19 oct. 2007 à 14:27
Je viens de voir un truc intéressant mais ca utilise tr et non grep :
http://perso.orange.fr/gleu/absfr.tuxfamily.org/abs-2.3-fr/textproc.html
"Exemple 12-17. Du: Convertit les fichiers text DOS vers UNIX"
Et le grep ne fonctionne pas sur "\015" :-|
http://perso.orange.fr/gleu/absfr.tuxfamily.org/abs-2.3-fr/textproc.html
"Exemple 12-17. Du: Convertit les fichiers text DOS vers UNIX"
Et le grep ne fonctionne pas sur "\015" :-|
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 14:28
19 oct. 2007 à 14:28
cat -A Document1.txt && grep -E '^M' Document1.txt ;echo $?
thierry^M$
test ^M$
ascii^M$
^M$
^M$
1
Pareil :-|
thierry^M$
test ^M$
ascii^M$
^M$
^M$
1
Pareil :-|
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 14:29
19 oct. 2007 à 14:29
Fais un grep sans le cat avant pour voir ce qu'il en ressort vraiment...
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 14:29
19 oct. 2007 à 14:29
Et apparemment avec sed ca marche aussi :
sed conversion retours chariots dos crlf unix lf
sed conversion retours chariots dos crlf unix lf
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 14:31
19 oct. 2007 à 14:31
Ben c'est avec "sed" que je fais mes tests depuis ce matin pour convertir mes fichiers ;-))
tlep
Messages postés
596
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
25 octobre 2012
118
19 oct. 2007 à 14:32
19 oct. 2007 à 14:32
grep -E '^M' Document1.txt
RIEN !
RIEN !
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2007 à 14:34
19 oct. 2007 à 14:34
Tu peux mettre ton fichier DOS sur Cjoint s'il te plaît que je teste ça chez moi pour déterminer si ça vient du fichier ou d'ailleurs, merci.