webdevqa.jp.net

BASHの変数から%0Dを削除します

私はこれを試しています:

token=`curl -I --header "X-Auth-User: [email protected]" --header "X-Auth-Key: XXXXXXXXXXXXXXXXXXXXXX" api.server.com | grep -Fi X-Auth-Token | awk -F" " '{ print $2}'`

/usr/bin/wget --accept .jpg,.jpeg -p "https://api.server.com/v1/stats/1/graph?callback=jQuery171027000000144289315_1380000003353&mnum=1&res_type=cpu&g_type=6h&graph_type=img&full=1&w=515&h=150&X-Auth-Token=$token" -O "image.jpg" || rm "image.jpg"

しかし、私のトークンの結果は次のとおりです。

https://api.server.com/v1/stats/1/graph?callback=jQuery171027000000144289315_1380000003353&mnum=1&res_type=cpu&g_type=6h&graph_type=img&full=1&w=515&h=150&X-Auth-Token=SERVER_018d8100000000001d1b817f7d58a6%0D

の代わりに:

https://api.server.com/v1/stats/1/graph?callback=jQuery171027000000144289315_1380000003353&mnum=1&res_type=cpu&g_type=6h&graph_type=img&full=1&w=515&h=150&X-Auth-Token=SERVER_018d8100000000001d1b817f7d58a6

%0D(キャリッジリターン)を削除するにはどうすればよいですか?

19
rdshck

あなたは付け加えられます | tr -d '\r'カールパイプラインに移動して、キャリッジリターンを取り除きます。

31
that other guy

Dos2unixと呼ばれるユーティリティがあります。あなたはそれをインストールしなければならないかもしれません。または翻訳を使用する

tr -d '\r' < input > output

編集いくつかのオプションについて説明している投稿が見つかりました: nixでキャリッジリターンを削除

1
crafter

sedにパイプすることで解決しました。私はすでにパイプでsedを使用していたので、それは理にかなっています。

cmd | sed 's/\r//g'

0
Ken Sharp