echo、printfでパイプから受けた値を出力する

ちょっとした作業で、「\n」とか「\t」で改行やタブが記述されている内容を、通常どおり改行やタブとして出力させたいということがあり、そのためにechoやprintfに標準入力を渡す必要があった。
で、以下のようにcatと組み合わせることで、echoやprintfにパイプから出力を渡すことができる。

echo "aaa\\tbbb\\nccc\\tddd" | echo -e $(cat)
echo "aaa\\nbbb" | printf $(cat)
Sponsored Links

[root@BS-PUB-CENT7-01 ~]# echo "aaa\\tbbb\\nccc\\tddd"
aaa\tbbb\nccc\tddd
[root@BS-PUB-CENT7-01 ~]# echo "aaa\\tbbb\\nccc\\tddd" | echo -e $(cat)
aaa     bbb
ccc     ddd
[root@BS-PUB-CENT7-01 ~]# echo "aaa\\tbbb\\nccc\\tddd" | printf $(cat)\\n
aaa     bbb
ccc     ddd

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*