voila une énigne pour la commande ls
commande locale:
rob2@ordi:~/test2$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
commande ls sur le dossier test2:
rob2@ordi:~/test2$ ls > liste.txt
rob2@ordi:~/test2$ cat liste.txt
a.html
b.html
c.html
d.html
e.html
é.html
è.html
ê.html
liste.txt
m.html
cela semble correct
j'ajoute 4 fichiers:
rob2@ordi:~/test2$ touch ab.html cb.html éa.html ma.html
re commande ls:
rob2@ordi:~/test2$ ls > liste.txt
rob2@ordi:~/test2$ cat liste.txt
ab.html
a.html
b.html
cb.html
c.html
d.html
éa.html
e.html
é.html
è.html
ê.html
liste.txt
ma.html
m.html
là cela ne va pas
c'est pour faire les liens dans mon dictionnaire gaulois
auriez vous idée ?
merci
# LS et Sort
Posté par anakin . Évalué à 2.
Au pire tu peux rediriger le flux vers un sort qui offre pas mal de possibilités de tri ;)
@++
[^] # Re: LS et Sort
Posté par robertix . Évalué à 0.
cela fonctionne sans l'extension:
rob2@ordi:~/test$ cat liste.txt
a
ae
af
b
c
d
e
é
è
ê
m
ma
mar
la commande: sort liste.txt (en gardant les extensions .html n'aide pas)
reste à demander à ls de ne lister que les fichiers
c'est quand mème ennuyeux
# Etonnant en effet
Posté par Kerro . Évalué à 2.
J'ai utilisé d'autres noms pour voir:
# ls -a | sort (ou ls -a1 qui donne la même chose)
.
..
.a
a.a.html
abb.html
abc.html
ab.html
.a.html
a.html
b.html
Dans un cas on dirait que le point est considéré comme supérieur aux lettres, dans un autre cas c'est l'inverse. Je ne saisi pas la logique.
Que la commande ls traite le point de manière particulière, soit. Mais la commande sort, je ne saisi pas. Il y a probablement un détail bête qui m'échape.
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
ls m*.html > index-m.txt && while read i ; do echo "<a href=\"$i.html\"><span style=\"font-weight: normal;\">$i" ; done < index-m.txt > index-m.html
pour créer automatiquement une page de liens des documents nommés commençant par m et ainsi de suite avec &&
mais les liens ne sont pas dans l'ordre
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
rob2@ordi:~/test2/dictionnaire$ find *.html
alphabet.html
ma.html
marteau.html
m.html
[^] # Re: Etonnant en effet
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
peu de chance qu'un outil marche si un autre ne marche pas ..
Quand à ton problème, je pense qu'il est déjà réglé:
http://osdir.com/ml/linux.debian.internationalization.genera(...) :
>e.g. we can now sort
> according to our braindead French collation rules, as specified in
> ISO 14651 ;)
so => aptitude install belocs-locales.*
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 2.
je vais tester cela
merci
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
je suppose qu'il y a quelques documents de configuration à modifier
parce que c'est pas mieux
rob2@ordi:~$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
rob2@ordi:~/test/dictionnaire$ ls *.html
alphabet.html ma.html marteau.html m.html
[^] # Re: Etonnant en effet
Posté par Amand Tihon (site web personnel) . Évalué à 1.
Par exemple :
$ ls -1
alphabet.html
ma.html
marteau.html
m.html
miniature.html
On voit donc que le "mh" de m.html vient avant le "mi" de miniature.html.
$ ls | sed -r 's/(.*)\.html/\1/' | sort | sed -r 's/(.*)/\1.html/'
alphabet.html
m.html
ma.html
marteau.html
miniature.html
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
rob2@ordi:~/test/dictionnaire/pages$ ls | sed -r 's/(.*)\.html/\1/' | sort | sed -r 's/(.*)/\1.html/'
alphabet.html
alphabet.html
m.html
m.html
ma.html
ma.html
marteau.html
marteau.html
alors je pécise a ls l'extension voulu avant de passer à sed
rob2@ordi:~/test/dictionnaire/pages$ ls *.html | sed -r 's/(.*)\.html/\1/' | sort | sed -r 's/(.*)/\1.html/'
alphabet.html
m.html
ma.html
marteau.html
rob2@ordi:~/test/dictionnaire/pages$
bien vu
merci
[^] # Re: Etonnant en effet
Posté par Kerro . Évalué à 2.
Exemple 1
Avantage
Avant-hier
Avant-première
Avanture (ahah)
Vicénale
Vice versa
Vice-versa
Le résultat semble conforme aux règles de classement 'linguistique'. C'est très bien pour classer selon l'ordre du dictionnaire, mais ça n'a rien à voir avec ce qu'on attends de la commande ls.
Exemple 2
Emmanuelle SAINDOULT
Emmanuel MONS
Emma THORIE
Sans commentaires :-)
La commande ls effectue donc un classement selon les règles linguistiques alors qu'on s'attends plutôt à une règle "bêtement informatique".
Pour la commande sort, il n'est pas forcément illogique que le tri soit linguistique, mais ça veut dire que si je veux trier des codes pour gérer des références par exemple, ça ne donnera pas le résultat attendu. Je ne suis pas arrivé à changer ce comportement avec les options.
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
voila ma commande pour générer l'index des mots commençant par m:
ls m*.html | sed -r 's/(.*)\.html/\1/' | sort > /home/rob2/test/dictionnaire/index-m.txt && while read i ; do echo "<a href=\"pages/$i.html\"><span style=\"font-weight: normal;\">$i" ; done < /home/rob2/test/dictionnaire/index-m.txt > /home/rob2/test/dictionnaire/index-m.html
voila le résultat,c'est dans l'ordre:
http://www.ponge.com/telechargements/dictionnaire/index-m.ht(...)
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
rob2@ordi:~/mes-documents/mes-sites/www.ponge.com/telechargements/dictionnaire$ ls m*.html | sed -r 's/(.*)\.html/\1/' | sort > index-m.txt && while read i ; do echo "<a href=\"$i.html\"><span style=\"font-weight: normal;\">$i" ; done < index-m.txt > index-m.htm
http://www.ponge.com/telechargements/dictionnaire/index-m.ht(...)
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
ls m*.html | sed -r 's/(.*)\.html/\1/' | sort > index-m.txt && while read i ; do echo "<a href=\"$i.html\"><span style=\"font-weight: normal;\">$i</span></a><br>" ; done < index-m.txt > index-m.htm
simple index de pages html:
ls *.html | sed -r 's/(.*)\.html/\1/' | sort > index.txt && while read i ; do echo "<a href=\"$i.html\"><span style=\"font-weight: normal;\">$i</span></a><br>" ; done < index.txt > index.html
pour que le code soit complet il faut le poster avec
texte sans html
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à -1.
copier coller la liste
liste1.txt
0.html
1.html
2.html
3.html
4.html
5.html
6.html
7.html
8.html
9.html
a.html
à.html
â.html
b.html
c.html
ç.html
d.html
e.html
é.html
è.html
ê.html
f.html
g.html
h.html
~.html
µ.html
_.html
..html
$.html
%.html
+.html
i.html
î.html
ï.html
j.html
k.html
l.html
m-a.html
ma.html
m-b.html
mb.html
m.html
n.html
o.html
ô.html
p.html
q.html
r.html
s.html
t.html
u.html
ù.html
v.html
w.html
x.html
y.html
z.html
commande:
while read i ; do > "$i" ; done < liste1.txt
les documents .html sont crées
puis commande:
ls -a -1 > liste2.txt
résultat
liste2.txt:
0.html
1.html
2.html
3.html
4.html
5.html
6.html
7.html
8.html
9.html
a.html
à.html
â.html
b.html
c.html
ç.html
d.html
e.html
é.html
è.html
ê.html
f.html
g.html
h.html
~.html
µ.html
_.html
..html
$.html
%.html
+.html
i.html
î.html
ï.html
j.html
k.html
l.html
m-a.html # erreur
ma.html
m-b.html # erreur
mb.html
m.html # erreur
n.html
o.html
ô.html
p.html
q.html
r.html
s.html
t.html
u.html
ù.html
v.html
w.html
x.html
y.html
z.html
puis commande;
ls -a *html | sed -r 's/(.*)\.html/\1/' | sort | sed -r 's/(.*)/\1.html/' > liste3.txt
résultat
liste3.txt
~.html
µ.html
_.html
$.html
%.html
+.html
0.html
1.html
2.html
3.html
4.html
5.html
6.html
7.html
8.html
9.html
a.html
à.html
â.html
b.html
c.html
ç.html
d.html
e.html
é.html
è.html
ê.html
f.html
g.html
h.html
i.html
î.html
ï.html
j.html
k.html
l.html
m.html
ma.html
m-a.html
mb.html
m-b.html
n.html
o.html
ô.html
p.html
q.html
r.html
s.html
t.html
u.html
ù.html
v.html
w.html
x.html
y.html
z.html
c'est mieux
si vous voulez participer au jeu,bienvenu
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
ordre alphabétique
[^] # Re: Etonnant en effet
Posté par daggett . Évalué à 2.
| sort -t. -k1
ce qui aura peut-être l'effet de corriger le tri dans la foulée.
chezmoiçamarchepas, mais j'avais pas non plus le même comportement au départ...
[^] # Re: Etonnant en effet
Posté par robertix . Évalué à 0.
rob2@ordi:~/dictionnaire$ ls *.html | sort -t. -k1
acacia.html
alphabet.html
ma.html
marteau.html
m.html
[^] # Re: Etonnant en effet
Posté par netsurfeur . Évalué à 1.
$ ls *.html | sort -t. -k1,1
acacia.html
alphabet.html
m.html
ma.html
marteau.html
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.