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

Wie benenne ich mehrere Dateien in einem einzigen Befehl oder Skript in Unix um?

Die meisten Standard-Shells bieten eine Möglichkeit, einfache Textersetzungen innerhalb von Shell-Variablen vorzunehmen. http://tldp.org/LDP/abs/html/parameter-substitution.html erklärt wie folgt:

${var/Pattern/Replacement}

First match of Pattern, within var replaced with Replacement.

Verwenden Sie also dieses Skript, um alle entsprechenden Dateien zu durchlaufen, und benennen Sie jede um:

for file in aro_tty-mIF-*_opt
do
    mv -i "${file}" "${file/-mIF-/-mImpFRA-}"
done

Ich habe eine Option -i hinzugefügt, damit Sie die Möglichkeit haben, jeden Umbenennungsvorgang zu bestätigen. Wie immer sollten Sie eine Sicherungskopie aller Ihrer Dateien erstellen, bevor Sie größere Mengen umbenennen oder löschen.


Wenn Sie Perls rename nicht haben :

perl -e '
FILE:for $file (@ARGV){
        ($new_name = $file) =~ s/-mIF-/-mImpFRA-/
        next FILE if -e $new_name;
        rename $file => $new_name
}' *_opt

Wenn Sie tun haben Perls rename :

rename 's/-mIF-/-mImpFRA-/' *_opt

Bevor Sie komplexe Befehle wie die folgenden ausprobieren, sichern Sie Ihre Dateien . Man weiß nie, was ein Tippfehler (meiner oder deiner) verursachen kann.

Mit mv (wie Sie im Kommentar gefragt haben --- rename wie in der anderen Antwort vorgeschlagen, ist wahrscheinlich sicherer, besonders wenn Sie Leerzeichen oder seltsame Zeichen in Ihren Dateinamen haben können) etwas von dem Stil

for f in *_opt; do
    a="$(echo $f | sed s/-mIF-/-mImpFRA-/)"
    mv "$f" "$a"
done

Linux
  1. Wie benenne ich mehrere Dateien in einem einzigen Befehl oder Skript in Unix um?

  2. Wie benenne ich mehrere Dateien mit Find um?

  3. So benennen Sie mehrere Dateien gleichzeitig in Linux um

  4. Wie kann ich Dateien aus einem UNIX-Shell-Skript per FTP übertragen und herunterladen?

  5. So ersetzen Sie eine Zeichenfolge in mehreren Dateien in der Linux-Befehlszeile

So benennen Sie Dateien unter Linux um

Umbenennungsbefehl in Linux (Mehrere Dateien umbenennen)

So benennen Sie eine Datei (en) in Linux um

So benennen Sie Dateien und Verzeichnisse in Ubuntu 20.04 um

So führen Sie mehrere Linux-Befehle in einem einzigen Befehl aus

ls-Befehl unter Linux/UNIX