たまにjsonの中身に\nが入ってて
「なんでこんなの入ってるのかなー?邪魔だなー」と思ってました。
わざわざ取り除くのがめんどうだなーと削除してました。
例えばAWSのSQSメッセージを見てそのままechoで出力しようとすると
\nが入ってて適切に出力されず、パイプしてjsonを読み取ろうとしても
エラーになることがありました。
でもechoの -e オプション使えばいいんですね。
こんな風になります
echo -e "{\n \"Message\" : \"hogehoge\" \n}" { "Message" : "hogehoge" }
便利ですねー
他にもさまざまなエスケープ文字は使えますが
下記はよく使うかもしれません。
# タブ \t echo -e "aaa\tbbb" aaa bbb # 垂直タブ \v これは知らなかったー!! echo -e "aaa\vbbb" aaa bbb # 改行 \n echo -e "aaa\nbbb" aaa bbb
参考
echoコマンド(引数で指定した内容を標準出力に出力する)
覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54
- 作者: 松浦智之
- 出版社/メーカー: USP研究所
- 発売日: 2011/08/10
- メディア: 単行本
- 購入: 2人 クリック: 11回
- この商品を含むブログ (1件) を見る