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

ちょっとした作業で、「\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

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

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

*