Question
Je suis en train d'utiliser:
ls -la *randomString*
dans mon script shell
à la liste de tous les fichiers et répertoires qui contiennent une sous-chaîne: « randomString »
tout fonctionne bien sauf quand il rencontre un répertoire qui correspond à la sous-chaîne, quand il le fait, il va me donner quelque chose comme ceci: (Permet de dire que le nom du répertoire était "TTrandomStringTT")
-rw-r ----- 1 myName aucun 7 janvier 17 17:57 .YrandomStringY.txt
TTrandomStringTT: totale 16
drwxr-s -. X 2 myName aucun 4096 17 janvier 18h00
drwxr-s - x 3 myName aucun 4096 17 janvier 19h00 ..
ce que je veux faire est la liste
drwxr-s - x 2 hctsui aucun 4096 17 janvier 18h19 TTfrandomStringTT
comme un ls -la
normale ferait
Je suis vraiment nouveau shell donc je vraiment besoin d'aide Merci beaucoup pour me aider
La solution
Si votre glob correspond à un nom de répertoire, il liste le contenu du répertoire. Si vous ne voulez pas que cela se produise, faire ls -lad *randomString*
Autres conseils
Une autre façon vous pouvez utiliser est de trouver, qui recherche récursive pour vous.
find . -iname "*randomstring*" -ls