Dateien mit Bash umbenennen, Präfix und Suffix entfernen

8

Ich möchte eine Reihe von Dateien mit bash umbenennen und dieses Dateimuster umwandeln:

%Vor%

In diesen:

%Vor%

Dafür habe ich folgendes Skript geschrieben:

%Vor%

Es funktioniert, aber ich möchte die Umbenennung mit einer einzigen Schleife durchführen. Ist es möglich?

    
Óscar López 20.08.2012, 00:37
quelle

4 Antworten

8

Ein anderer Ansatz zum Spaß mit regulären Ausdrücken:

%Vor%

Tatsächlich hat das einfache Muster '* .txt' hier zwei Probleme:

  1. Es ist zu breit; Möglicherweise müssen Sie die Regex auf viele nicht übereinstimmende Dateien anwenden.
  2. Wenn im aktuellen Verzeichnis eine Menge von Dateien vorhanden ist, könnte die Befehlszeile überlaufen.

Die Verwendung von find verkompliziert die Prozedur, ist aber korrekter:

%Vor%     
chepner 20.08.2012, 01:28
quelle
3

Wenn Sie Zugriff auf GNU sed haben, könnten Sie einige Regex verwenden, um etwas wie folgt auszuführen:

%Vor%     
Steve 20.08.2012 01:21
quelle
0

Sie könnten dies verwenden:

%Vor%

das könnte klarer als geschrieben werden:

%Vor%     
mpapis 20.08.2012 01:29
quelle
0

Wenn Sie emacs installiert haben. Sie können das Feature dired verwenden.

In bash :

%Vor%

In emacs :

  • Drücken Sie * % Geben Sie \.txt$ Geben Sie ein, um alle% zu markieren. co_de% files.
  • Drücken Sie % r Geben Sie txt Geben Sie % ein co_de% Geben Sie zum Umbenennen ein.
kev 20.08.2012 03:17
quelle

Tags und Links