GNU/Linux >> Tutoriels Linux >  >> Linux

Comment Glob Chaque Fichier Caché Sauf Répertoire Courant Et Parent?

Cette question a déjà des réponses ici :Comment déplacer tous les fichiers (y compris cachés) d'un répertoire à un autre ?

(12 réponses)
Fermé il y a 6 ans.

Je veux regrouper tous les fichiers et répertoires cachés, mais pas le courant (. ) et répertoire parent (.. ).

J'utilise bash.

Observez le comportement actuel :

$ ls -a
.  ..  ...a  ...aa  ..a  ..aa  .a  .aa  .aaa  a
$ echo *
a
$ echo .*
. .. ...a ...aa ..a ..aa .a .aa .aaa

Je voudrais .* se comporter comme ça

$ echo .*
...a ...aa ..a ..aa .a .aa .aaa

Il y a l'option shell dotglob

$ shopt -s dotglob

cela fonctionne d'une certaine manière; maintenant je peux utiliser * pour tout glob (caché ou non) mais pas . et ..

$ echo *
...a ...aa ..a ..aa .a .aa .aaa a

mais maintenant je ne peux pas faire la différence entre caché ou non. Aussi, .* toujours globs . et ..

$ echo .*
. .. ...a ...aa ..a ..aa .a .aa .aaa

Existe-t-il un moyen de créer .* pas développer en . et .. ?

Réponse acceptée :

Vous pouvez utiliser le GLOBIGNORE variable pour masquer le . et .. répertoires. Cela définit également automatiquement le dotglob option, donc * correspond maintenant aux fichiers cachés et non cachés. Vous pouvez à nouveau désactiver manuellement dotglob , cependant, cela donne alors le comportement que vous voulez.

Voir cet exemple :

$ ls -a
.  ..  a  .a  ..a
$ GLOBIGNORE=".:.."
$ shopt -u dotglob
$ echo * # all (only non-hidden)
a
$ echo .* # all (only hidden)
.a ..a

Linux
  1. Comment rendre le fichier et le répertoire ineffaçables, même par racine sous Linux

  2. `^m` et comment s'en débarrasser ?

  3. Comment activer l'indexation de fichiers et de répertoires apache sous Linux ou UNIX ?

  4. UNIX / Linux :Comment utiliser Sticky Bit sur un répertoire et un fichier

  5. Comment exécuter la commande "find" sur le répertoire en cours uniquement et non sur les sous-répertoires

Comment copier des fichiers et des répertoires sous Linux

Comment faire de la stéganographie d'images sous Linux

Comment afficher et créer des fichiers et des répertoires cachés sous Linux

Comment masquer un fichier ou un répertoire sur CentOS

Comment afficher les fichiers et dossiers cachés dans le gestionnaire de fichiers Ubuntu

Comment copier un fichier d'un autre répertoire vers celui en cours ?