Ich möchte eine Aktion (sagen wir chown
) für alle versteckten Dateien in einem Verzeichnis ausführen .
Ich weiß , dass dies .*
ist nicht eine gute Idee , weil es auch die aktuellen finden .
und übergeordnete ..
Verzeichnisse (Ich weiß , dass rm
wird nicht funktionieren auf .
und ..
aber auch andere Befehle, einschließlich chown
und chmod
wird glücklich wirksam)
Aber alle meine versteckten Dateien haben unterschiedliche Namen!
Wie soll ich für alle versteckten Dateien glob unter Ausschluß .
und ..
?
quelle
@()
? Simple.!(.|)
scheint identisch zu funktionieren.!(.|)
funktioniert das genauso. Gibt es@()
in diesem Zusammenhang einen Grund dafür?das verstecken. und .. Verzeichnisse. Dies setzt auch die
dotglob
Option:*
sowohl versteckte als auch nicht versteckte Dateien abgeglichen.Sie können auch tun
Gilles :)
quelle
Sie können
find
hier einen Befehl verwenden. Zum Beispiel so etwas wieDadurch werden versteckte Dateien gefunden und Berechtigungen geändert
Bearbeiten, um den Kommentar von @gerrit einzuschließen:
Dadurch wird die Suche auf das aktuelle Verzeichnis beschränkt, anstatt rekursiv zu suchen.
quelle
-maxdepth 1
hier hinzufügen , damit es dem Verhalten in der Frage und den anderen Antworten besser entspricht.