Entfernen Sie Steuerzeichen aus der Zeichenfolge mit TR

Lesezeit: 1 Minute

Bitte versuchen Sie die folgenden Befehle:

echo "(After Sweet Memories) Play Born To Lose Again" | tr '(' '-' | tr ')' '-' | tr ' ' '-'

-After-Sweet-Memories--Play-Born-To-Lose-Again

(Beachten Sie das Doppel --)

Ich kann den Befehl nicht ändern und einen (Null-)Wert übergeben, stattdessen muss ich einen anderen übergeben -

siehe dieses Beispiel und diesen Fehler:

echo "(After Sweet Memories) Play Born To Lose Again" | tr '(' '' | tr ')' '' | tr ' ' '-'

tr: tr: when not truncating set1, string2 must be non-emptywhen not truncating set1, string2 must be non-empty

Sie können “tr -d” verwenden, um nur Zeichen zu entfernen. Ist das die gesuchte Lösung?

echo "(After Sweet Memories) Play Born To Lose Again" | tr -d '(' |  tr -d ')' |  tr ' ' '-'

After-Sweet-Memories-Play-Born-To-Lose-Again

  • Sie können auch beide Klammerzeichen mit einem einzigen Lauf von löschen tr -d '()'

    – Gordon Davisson

    11. August 2020 um 6:40 Uhr

EIN tr Lösung wurde bereitgestellt, aber tr erfordert, dass Sie mehrere Instanzen in einer Pipeline ausführen. Sie können alles in einem Vorgang mit erledigen sed.

echo "(After Sweet Memories) Play Born To Lose Again" | sed 's/ /-/g; s/[()]//g;'
After-Sweet-Memories-Play-Born-To-Lose-Again

Sie können sogar verlieren echo (obwohl das kaum ein Problem ist…)

sed 's/ /-/g; s/[()]//g;' <<< "(After Sweet Memories) Play Born To Lose Again"
After-Sweet-Memories-Play-Born-To-Lose-Again

1311390cookie-checkEntfernen Sie Steuerzeichen aus der Zeichenfolge mit TR

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy