Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/03/2018, à 12:36

Mia98

rendre ls insensible à la casse

Bonjour,
Je voudrais savoir s'il existe une option pour rendre la commande ls insensible à la casse.
Je cherche depuis un moment sur les forums.
A moins que je ne comprenne pas  (j'ai du mal avec l'anglais), man ne semble pas répertorier une option pour cela.
-iname ou -i ne fonctionne pas ici (je ne souhaite pas utiliser find mais bien ls).
Merci pour votre aide smile

Hors ligne

#2 Le 06/03/2018, à 12:40

shoot76

Re : rendre ls insensible à la casse

Salut,

la commande ls n'a aucun sens d'être insensible à la casse.

Tu voudrais pouvoir taper :

ls /home/user/documents

au lieu de

ls /home/user/Documents

, c'est ça ?

Tu peux utiliser la touche "tab" quand tu tapes un chemin de dossier; Le terminal possède une autocomplétion bien pratique.

Si jamais c'est pour rechercher des fichiers dans un dossier, là c'est la commande grep associée à ls qui doit être insensible à la casse. et là, c'est l'argument -i qui est utilisé.

Si tu souhaites avec de l'aide sur une commande, tu peux faire

man macommande

et tu auras accès à toute sa documentation sans avoir à aller sur internet.


~ Data-sientist freelance : https://skulder.fr

Hors ligne

#3 Le 06/03/2018, à 12:55

pingouinux

Re : rendre ls insensible à la casse

Bonjour,
Tu peux faire ceci :

shopt -s nocaseglob

Voici un extrait de man bash, rubrique shopt

nocaseglob
                      If set, bash matches filenames in a case-insensitive  fashion
                      when  performing  pathname  expansion (see Pathname Expansion
                      above).

mais ça ne marche pas si tu donnes le nom exact du fichier

$ ls -d ~/documents
ls: cannot access /home/yves/documents: No such file or directory

$ ls -d ~/documents*
/home/user/Documents

Dernière modification par pingouinux (Le 06/03/2018, à 12:55)

Hors ligne

#4 Le 06/03/2018, à 15:56

Mia98

Re : rendre ls insensible à la casse

Merci wink

@ shoot76
Oui je voulais rechercher des fichiers qui utilisent parfois des majuscules, et j'essayais de me passer de grep, mais puisque ça n'est pas possible, tant pis (pour l'utilisation de man, ok, mais souvent en anglais roll).

@pingouinux
Je viens de traduire avec Google (si elle est définie, la bash correspond aux noms de fichier de manière insensible à la casse. lors de l'expansion du chemin (voir Expansion du chemin d'accès) ci-dessus)... et je ne comprends pas très bien le sens de cette phrase.
Mais ça marche ! les fichiers ont été trouvé lol
Encore merci.

Dernière modification par Mia98 (Le 06/03/2018, à 15:57)

Hors ligne

#5 Le 06/03/2018, à 16:01

nam1962

Re : rendre ls insensible à la casse

Faut demander à grep :

~]$ ls -l | grep -i documents
drwxr-xr-x   60 moi moi  16384  5 mars  14:00 Documents

[ Modéré ]

Hors ligne

#6 Le 06/03/2018, à 19:06

Mia98

Re : rendre ls insensible à la casse

Merci mam1962, c'est la solution que propose shoot76, mais j'essayais de me passer du tri avec grep en utilisant une option (qui n'existe pas ^^) avec ls pour raccourcir la ligne commande.
La solution avec shopt -s nocaseglob me convient, il suffit de l'entrer une fois et ensuite les noms de fichiers sont insensibles à la casse en utilisant le joker à la fin du nom (quelque soient les commandes utilisées si je comprends bien).

Hors ligne