Entfernen Sie einfache Anführungszeichen aus einem Dateinamen in Bash
Ein Dateiname mit einem einfachen Anführungszeichen im Namen kann viele Probleme verursachen, wenn er mit einem Bash-Skript oder auf der Befehlszeile verwendet wird. Einfache Anführungszeichen sind Sonderzeichen und weisen die Bash-Shell an, den Text zwischen ihnen wörtlich zu interpretieren. Die meisten Benutzer würden es im Idealfall vorziehen, mit Dateien zu arbeiten, die keine Anführungszeichen im Dateinamen haben.
Das Bearbeiten von Dateien ohne Anführungszeichen ist viel einfacher, da Sie sich keine Sorgen machen müssen, dass der Dateiname jedes Mal maskiert wird. In diesem Tutorial erfahren Sie, wie Sie einfache Anführungszeichen aus Dateinamen mit verschiedenen Methoden unter Linux entfernen.
In diesem Tutorial lernen Sie:
- Verschiedene Befehle, die zum Entfernen oder Ersetzen einfacher Anführungszeichen in Dateinamen verwendet werden
Entfernen Sie einfache Anführungszeichen aus einem Dateinamen in Bash
Alle folgenden Beispiele finden in der Linux-Befehlszeile statt. Öffnen Sie ein Terminal und navigieren Sie zu dem Verzeichnis, das die Dateien enthält, die Sie umbenennen möchten, und probieren Sie dann einige der folgenden Befehle aus, um loszulegen.
Um die einfachen Anführungszeichen in einer einzelnen Datei zu entfernen und durch Unterstriche zu ersetzen, können Sie den folgenden Befehl verwenden:
myfile="some'file.txt" ; mv "$myfile" $(echo $myfile | tr "'" '_')-
Um die einfachen Anführungszeichen vollständig zu entfernen, können wir den gleichen Befehl wie oben verwenden, aber
verwenden Sie trund die Option-dfür die Anführungszeichen:myfile="some'file.txt" ; mv "$myfile" $(echo $myfile | tr -d "'") Hier ist ein weiterer Befehl, mit dem die einfachen Anführungszeichen aus allen Dateien innerhalb eines Verzeichnisses entfernt werden können:
ls | grep "'" | while read -r f; do mv -i "$f" `echo $f | tr -d "'"`; doneDer gleiche Befehl wie oben, aber diesmal werden die einfachen Anführungszeichen durch Unterstriche ersetzt:
ls | grep "'" | while read -r f; do mv "$f" `echo $f | tr "'" '_'`; doneDer
detox-Befehlbereinigt alle Arten von seltsamen Zeichen in Dateinamen. Eine der Standardfunktionen besteht darin, einfache Anführungszeichen durch Unterstriche zu ersetzen.detox some\'file.txt OR detox *Um die Installation von
detoxund weitere Anweisungen zur Verwendung zu sehen, lesen Sie unser Tutorial zum Bereinigen von Dateinamen mit dem Befehlszeilenprogramm detox.Wenn Sie das
Umbenennungsprogrammauf Ihrem Linux-System installiert haben, gibt es eine sehr einfache Syntax, um die einfachen Anführungszeichen aus allen Dateien zu entfernen:rename "s/\'//g" *Das Anoter-Dienstprogramm, das normalerweise nicht standardmäßig unter Linux installiert wird, aber die Aufgabe sehr gut erledigen kann, ist
mmv. Der folgende Befehl entfernt alle einfachen Anführungszeichen und ersetzt sie durch Unterstriche:mmv "*'*" '#1_#2'
Sie könnten auch an unserem Tutorial zum Umbenennen mehrerer Dateien unter Linux interessiert sein, in dem wir weitere Beispiele für das Umbenennen von Batch-Dateien sowie die Installation der Befehle
rename und mmv zeigen. Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man die einfachen Anführungszeichen aus Dateien auf einem Linux-System entfernt. Dateien ohne einfache Anführungszeichen sind einfacher zu handhaben, da sie mit mehr Tools unter Linux kompatibel sind, und wir müssen nicht daran denken, die Dateinamen zu maskieren, wenn wir mit den Dateien arbeiten. Unabhängig davon, ob Sie eine Handvoll oder einige tausend Dateien umbenennen müssen, wird die Umbenennungsaufgabe mit den Befehlen in diesem Tutorial im Handumdrehen erledigt.
