Unix-Befehl, um Leerzeichen zu vermeiden
Ich bin neu in shell-Skript. Kann mir jemand helfen mit dem Befehl zu entkommen, die Leerzeichen mit "\ ".
Ich habe eine variable DATEIPFAD=/Pfad/zu meinem/text-Datei ,
Ich möchte die Flucht der Räume allein
FILE_PATH=/Pfad/zu /meiner/text\ Datei
Versuchte ich mit der tr -s " - Befehl, aber es wird nicht helfen,
FILE_PATH=echo FILE_PATH | tr -s " " "\\ "
Kann jemand vorschlagen, der richtige Befehl !!
InformationsquelleAutor der Frage Mojoy | 2012-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die bash benutzen, können Sie seine eingebaute printf ' s %f-formatter (Typ
help printf
in der bash):Dies wird nicht nur zitieren, Raum, aber auch alle Sonderzeichen für die shell.
InformationsquelleAutor der Antwort Bao Haojun
Es gibt mehr zu, ein string sicher als nur die Flucht Leerzeichen, aber man kann die Flucht der Räume mit:
InformationsquelleAutor der Antwort William Pursell
Können Sie 'einfache Anführungszeichen' zu betreiben, auf einen Pfad, der Leerzeichen enthält:
cp '/path/with spaces/file.txt' '/another/spacey path/dir'
grep foo '/my/super spacey/path with spaces/folder/*'
in einem Skript:
InformationsquelleAutor der Antwort jahroy
Können Sie es mit
sed
:InformationsquelleAutor der Antwort Gilles Quenot
Verwenden Sie Anführungszeichen, um zu bewahren, die LEERZEICHEN
InformationsquelleAutor der Antwort sureshvv
Die zweite Zeile muss
aber ich glaube nicht, dass es darauf ankommt. Sobald Sie diese Stufe erreicht haben, sind Sie zu spät. Die variable festgelegt wurde, und entweder die Leerzeichen escapen oder die variable ist falsch.
FILE_PATH='/Pfad/zu meinem/text-Datei'
InformationsquelleAutor der Antwort hymie