Wie kann ich Ordner wie „Human (2012)“ aufrufen und umbenennen?

Wie kann ich Ordner wie „Human (2012)“ aufrufen und umbenennen?

Ich spiele mit FTP über die Befehlszeile und habe zwei Probleme. Ich kann Ordner wie diese weder umbenennen noch öffnen:

dir /home/folder1/Human (2012)

Ich habe es versucht:

cd ~/folder1/Human\ (2012)

Hier erhalte ich die Meldung, dass the folder does not exist.

mv ~/folder1/Human\ (2012)

In diesem Fall erhalte ich die folgende Meldung:

syntaxfailure at (

Wie kann ich dieses Problem lösen?

Antwort1

Sie könnten Ihren Pfad in doppelten Anführungszeichen angeben:

cd ~/"folder1/Human (2012)"

oder Sie sollten eine Escape-Sequenz für (, )und (Leerzeichen) angeben (da dies Sonderzeichen sind):

cd ~/folder1/Human\ \(2012\)

Und

mv ~/"folder1/Human (2012)"

Mit Escape-Sequenz:

mv ~/folder1/Human\ \(2012\)

Antwort2

Mit dem vor dem Leerzeichen liegen Sie richtig \. Das gilt für alle Sonderzeichen – Klammern eingeschlossen. Setzen Sie einen Backslash vor die öffnende Klammer und einen weiteren Backslash vor die schließende Klammer, dann funktioniert es.

Die Tab-Vervollständigung ist in diesen Fällen hilfreich. Wenn Sie mit der Eingabe des Dateinamens beginnen und dann drücken Tab, wird der Rest des Dateinamens automatisch vervollständigt und bei Bedarf Backslashs eingefügt. (Wenn Sie nicht genug vom Dateinamen eingegeben haben, um eindeutig zu sein, welche Datei Sie meinen, vervollständigt Bash trotzdem so viel vom Dateinamen wie möglich automatisch. Wenn Sie zweimal die Tab-Taste drücken, wird eine Liste mit möglichen Vervollständigungen des Dateinamens angezeigt.)

Antwort3

Ich stimme mit Snoop überein, dass dies durch die Verwendung "von Markierungen beim Angeben einer Datei oder eines Verzeichnisses erreicht werden kann.

Wenn jedoch eine ganze Reihe von Verzeichnissen umbenannt werden müssen, können Sie renamesie mit in benutzerfreundlichere Namen umbenennen. Umbenennen funktioniert ähnlich wie, sedaußer dass renameDateien und Verzeichnisse umbenannt werden, während sednormalerweise zum Bearbeiten des Inhalts von Dateien verwendet wird. Hier ist ein Beispiel:

rename 's/ //g;s/\(//g;s/\)//g' ~/folder1/*

Wenn sich also die folgenden Verzeichnisse in folgendem Verzeichnis befänden ~/folder1:

Human (2012)
Human (2011)
Human (2010)

Sie werden stattdessen wie folgt umbenannt:

Human2012
Human2011
Human2010

Führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten:

man rename

verwandte Informationen