GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man jede versteckte Datei außer dem aktuellen und dem übergeordneten Verzeichnis globbeln?

Für diese Frage gibt es hier bereits Antworten :Wie verschieben Sie alle Dateien (einschließlich versteckter) von einem Verzeichnis in ein anderes?

(12 Antworten)
Vor 6 Jahren geschlossen.

Ich möchte jede versteckte Datei und jedes Verzeichnis globen, aber nicht die aktuelle (. ) und übergeordnetes Verzeichnis (.. ).

Ich verwende bash.

Aktuelles Verhalten beobachten:

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

Ich möchte .* sich so zu verhalten

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

Es gibt die Shell-Option dotglob

$ shopt -s dotglob

das funktioniert irgendwie; jetzt kann ich * verwenden um alles zu globen (versteckt oder nicht), aber nicht . und ..

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

aber jetzt kann ich nicht zwischen versteckt oder nicht unterscheiden. Auch .* immer noch Globs . und ..

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

Gibt es eine Möglichkeit, .* zu erstellen nicht zu . erweitern und .. ?

Akzeptierte Antwort:

Sie können die GLOBIGNORE verwenden Variable, um . auszublenden und .. Verzeichnisse. Dadurch wird automatisch auch der dotglob gesetzt Option, also * stimmt nun mit versteckten und nicht versteckten Dateien überein. Sie können dotglob wieder manuell deaktivieren , aber das gibt dann das gewünschte Verhalten.

Siehe dieses Beispiel:

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

Linux
  1. `^m` und wie wird man es los?

  2. Wie protokolliere ich jeden in Bash eingegebenen Befehl und jede Dateioperation?

  3. Wie listet man rekursive Dateigrößen von Dateien und Verzeichnissen in einem Verzeichnis auf?

  4. So ändern Sie Datei- und Verzeichnisberechtigungen mit dem Dateimanager

  5. Wie verhindert man das Ändern, Löschen und Umbenennen von Dateien/Verzeichnissen in Linux?

So kopieren Sie Dateien und Verzeichnisse unter Linux

Wie man Image-Steganographie unter Linux durchführt

So können Sie versteckte Dateien und Verzeichnisse unter Linux anzeigen und erstellen

So verstecken Sie eine Datei oder ein Verzeichnis unter CentOS

So zeigen Sie versteckte Dateien und Ordner im Ubuntu-Dateimanager an

Wie kopiert man eine Datei aus einem anderen Verzeichnis in das aktuelle?