#1 Le 06/03/2018, à 11: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
Hors ligne
#2 Le 06/03/2018, à 11: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, à 11: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, à 11:55)
Hors ligne
#4 Le 06/03/2018, à 14:56
- Mia98
Re : rendre ls insensible à la casse
Merci
@ 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 ).
@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é
Encore merci.
Dernière modification par Mia98 (Le 06/03/2018, à 14:57)
Hors ligne
#5 Le 06/03/2018, à 15: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, à 18: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