Finden Sie mehrere Dateien, und benennen Sie Sie in Linux

Ich habe Dateien wie a_dbg.txt, b_dbg.txt ... im Suse 10 system. Ich möchte schreiben Sie ein bash-shell-Skript, das sollten benennen Sie diese Dateien entfernen "_dbg" von Ihnen.

Google mir vorgeschlagen zu verwenden rename Befehl. Also habe ich den Befehl ausgeführt rename _dbg.txt .txt *dbg* auf die CURRENT_FOLDER

Meine eigentliche CURRENT_FOLDER enthält die untenstehenden Dateien.

CURRENT_FOLDER/a_dbg.txt
CURRENT_FOLDER/b_dbg.txt
CURRENT_FOLDER/XX/c_dbg.txt
CURRENT_FOLDER/YY/d_dbg.txt

Nach Ausführung der rename Befehl,

CURRENT_FOLDER/a.txt
CURRENT_FOLDER/b.txt
CURRENT_FOLDER/XX/c_dbg.txt
CURRENT_FOLDER/YY/d_dbg.txt

Ihre nicht tun rekursiv, wie man diesen Befehl zum umbenennen von Dateien in allen Unterverzeichnissen. Wie XX und YY ich werde so viele Unterverzeichnisse, die den Namen nicht vorhersagbar ist. Und auch meine CURRENT_FOLDER werden, einige andere Dateien auch.

  • Ich bekomme Bareword "..." not allowed while "strict subs" in use at (eval 1) line 1.
  • Warum nicht EINFACH umbenennen -r existieren und uns das Leben erleichtern, statt der sperrigen workarounds?
InformationsquelleAutor rashok | 2013-05-14
Schreibe einen Kommentar