非常によく似た質問を見ましたが、問題を解決できませんでした sed でカンマを改行に置き換えます
文字列内の文字を変換しようとし:
ています。これは私が試したものです:
echo -e 'this:is:a:test' | sed "s/\:/'\n'/g"
しかし、これは : を n に置き換えます。私もtrを試しましたが、同じ結果が得られました。パイプされた後に -e が表示されないため、新しい行が認識されないと思います。
どんな助けでも大歓迎です。
非常によく似た質問を見ましたが、問題を解決できませんでした sed でカンマを改行に置き換えます
文字列内の文字を変換しようとし:
ています。これは私が試したものです:
echo -e 'this:is:a:test' | sed "s/\:/'\n'/g"
しかし、これは : を n に置き換えます。私もtrを試しましたが、同じ結果が得られました。パイプされた後に -e が表示されないため、新しい行が認識されないと思います。
どんな助けでも大歓迎です。
echo 'this:is:a:test' | tr : \\n
POSIX 準拠の trはすべて、\n
エスケープ シーケンスをサポートします。ただし、エスケープ シーケンスを引用またはエスケープするように注意する必要があります (上の二重のバックスラッシュ)。
echoの-e
引数は、echo の引数には影響しません。
すでに変数に文字列があると思います。これは、パラメーター展開置換演算子を使用して、引用符で囲ま:
れた文字列を使用して指定されたすべてを改行に置き換え$'...'
ます。どちらの機能もbash
標準の拡張機能であり、別のシェルでは機能しない場合があります。
$ foo="this:is:a:test"
$ bar="${foo//:/$'\n'}"
$ echo "$bar"
this
is
a
test
おそらくPerlはオプションですか?
echo -e 'this:is:a:test' | perl -p -e 's/:/\n/g'