Ich versuche, meinen $ PATH in der Kommandozeile auszugeben, ersetze aber auch: mit \ n mit folgendem Befehl:
echo $PATH | sed s/:/\n/g
Das funktioniert nicht 100%, wie bekomme ich es zum Laufen?
command-line
unix
josef.van.niekerk
quelle
quelle
sed
? tut nichttr ':' '\n'
Arbeit ?echo "$PATH" | sed 's/:/\n/g'
echo "${PATH//:/$'\n'}"
Antworten:
Sie müssen dem Backslash entkommen, d. H.
Oder, wie BatchyX feststellte
Wenn Sie $ PATH parsen möchten, können Sie auch eine andere Möglichkeit verwenden
Hier
IFS=:
erzähltbash
Saiten an teilen:
. Bitte beachten Sie, dass dies auch andere Dinge in der aktuellen Sitzung ändern wird. Ausschnitt ausman bash
:quelle
:
müssen auch rückwärts gekreuzt werden?\n
als Ganzes das Rückkehrzeichen darstellt, nicht wahr? Durch das Entkommen des Backslashs werden '\' und 'n' zu zwei getrennten Zeichen\
weil das sed-Muster nicht zitiert wird. Eine robustere Methode wäre die Antwort von @ user1936123.Sie können auch den regulären Ausdruck zitieren:
echo $PATH | sed 's/:/\n/g'
Für Ihre \ n Literale können Sie verwenden
echo -e
.quelle