J'ai essayé d'afficher uniquement les fichiers cachés mais je ne sais pas comment le faire.
Cela fonctionne (mais correspond également aux points dans d'autres endroits)
ls -la | grep '\.'
J'essayais d'ajouter, ^
mais je n'ai pas trouvé la solution.
ls
n'est jamais une idée merveilleuse, mais ce que vous avez essayé aurait fonctionné si vous aviez utilisé l'ancre^
pour indiquer le début du match.ls -la | grep '^\.'
ls -la | awk '$9 ~ /^\./'
volonté.Réponses:
ls -ld .*
fera ce que vous voulez.la source
Doit fonctionner si vous voulez répertorier tous les fichiers cachés dans la hiérarchie des répertoires.
la source
Si vous voulez analyser la
ls
sortie, vous devez ajouter^
au début de l'expression régulière et ne pas utiliser d'-l
option. L'utilisation de-l
chaque sortie de ligne démarre avec les informations d'autorisation de fichier ou de dossier, et non le nom de fichier ou de dossier. Vous devez donc utiliser comme ceci:Ou vous pouvez le faire avec
printf
bash builtin:Si vous utilisez
zsh
, vous pouvez utiliser:la source
Voici deux autres façons de rechercher uniquement des fichiers cachés.
ou
Utilisez
-maxdepth
pour spécifier jusqu'où vous souhaitez rechercher dans l'arborescence.la source
Une amélioration de la réponse de Flup :
Ceci listera tous les fichiers dont le nom commence par un point et qui ne sont ni
.
ni..
.Notez que si vous voulez diriger la sortie de
ls
versgrep
(qui, comme l'a souligné devnull , n'est jamais une bonne idée), assurez-vous d'utiliser\ls
oucommand ls
parce que sils
est aliasé pour vous montrer la sortie colorée (comme c'est le cas sur Debian par exemple) , sa sortie contient des séquences d'échappement ANSI pour créer une sortie colorée, qui se déclencheragrep
si votre motif est ancré au début de la ligne.la source
-A
( au lieu de-a
) ignorer.
,..
.-A
diffère des-a
répertoires quils
descendent dans, mais les deux sont (également) ignorés et inutiles pour les noms spécifiés sur la ligne de commande avec-d
effet. De plus, sils
est aliasé--color=auto
alors la tuyauterie est correcte; seulement--color=always
ou--color
cause des problèmes.La solution de val0x00ff est vraiment bonne, mais elle oublie les répertoires cachés.
Si vous voulez des fichiers cachés et des répertoires cachés , sans. et .. :
la source
find . \( -type f -o -type d \) -name '\.*' -print
; appliquer aumaxdepth
besoin.Ci-dessous, l'un est beaucoup plus compact et prend en charge de nombreuses variantes
1) Afficher les fichiers, répertoires et sous-répertoires cachés
find . | grep "^\./\."
2) Afficher uniquement les répertoires et sous-répertoires cachés
find . -type d | grep "^\./\."
3) Afficher les fichiers cachés uniquement dans les sous-répertoires actuels et
find . -type f | grep "^\./\."
4) Afficher les fichiers et répertoires cachés dans le dossier actuel
find . -maxdepth 1 | grep "^\./\."
la source
Tu peux essayer:
Bien sûr, vous pouvez utiliser différentes
maxdepth
valeurs ou les supprimer complètement. Très utile si vous souhaitez explorer entre les répertoires (-type d
) ou les fichiers normaux (type f
) ou les deux, et combiner avec d'autres fonctions comme:(ex: dernière heure modifiée, basée sur l' exemple @piroux - complétée par @ jeroen-wiert-pluimers )
la source
Tu peux essayer :
^ indique que c'est le début du contenu avec regexp
la source