Formatage de fichier texte
Résolu
tlep
Messages postés
596
Date d'inscription
Statut
Membre
Dernière intervention
-
tlep Messages postés 596 Date d'inscription Statut Membre Dernière intervention -
tlep Messages postés 596 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Connaissez-vous la commande permettant de savoir si un fichier texte est au format UNIX, PC, ou MAC ?
Merci :-)
Connaissez-vous la commande permettant de savoir si un fichier texte est au format UNIX, PC, ou MAC ?
Merci :-)
A voir également:
- Formatage de fichier texte
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
29 réponses
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.
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 ;-))
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
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
:-|
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$
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
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
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.
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" :-|
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 :-|
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.