Ich versuche, ein Bash-Skript zu finden, das rekursiv nach Dateien mit der Erweiterung .bx sucht und diese Erweiterung entfernt. Die Dateinamen haben kein bestimmtes Format (einige sind versteckte Dateien mit dem Präfix ".", Einige haben Leerzeichen im Namen usw.) und nicht alle Dateien haben diese Erweiterung.
Ich bin mir nicht sicher, wie ich jede Datei mit der Erweiterung .bx (in und unter meinem cwd) finden und entfernen kann. Danke für die Hilfe!
Extra: Wie man eine Erweiterung von Dateinamen entfernt
%Vor%schneidet ab dem letzten Punkt, d. h. pet.cat.dog --- & gt; pet.cat
%Vor%schneidet ab dem ersten Punkt, d. h. pet.cat.dog --- & gt; Haustier
"- maxdepth 1" beschränkt die Operation auf das aktuelle Verzeichnis, "-type f" wird nur zur Auswahl von Dateien verwendet. Sed & amp; Mit der grep-Kombination werden nur Dateinamen mit Punkt ausgewählt. Die Anzahl der Prozentzeichen im Befehl "mv" definiert den tatsächlichen Schnittpunkt.
Hier ist eine andere Version, die folgendes macht:
$old_ext
variable (momentan auf .bx
gesetzt) in und unter cwd
, speichert sie in $files
$new_ext
variable, aktuell auf .xyz
gesetzt) Das Skript verwendet dirname
und basename
, um den Dateipfad bzw. den Dateinamen herauszufinden.