2012-03-19 11 views
1

でコマンドをパイプ。 私はすべての"をescpapeとき、私はこれを取得:実行複合体は、私はbashスクリプトでいくつかのJSONの解析をしていたAppleScript

do shell script "curl http://myurl.com/get.json | sed -e 's/[{}]/''/g' | awk -v k=\"text\" '{n=split($0,a,\",\"); for (i=1; i<=n; i++) print a[i]}' | grep '\"key\":' | sed 's/:/ /1' | awk -F\" \" '{ print $2 }' | tr -d \"\"\"" 

それがエラーを返します:

sh: -c: line 0: unexpected EOF while looking for matching `"' 
sh: -c: line 1: syntax error: unexpected end of file 

私はここにいくつかの助けを本当に感謝します!ありがとう!

答えて

1

あなたが接近していた - エスケープ文字は、その最後のビットにエスケープする必要があります

do shell script "curl http://myurl.com/get.json | sed -e 's/[{}]/''/g' | awk -v k=\"text\" '{n=split($0,a,\",\"); for (i=1; i<=n; i++) print a[i]}' | grep '\"key\":' | sed 's/:/ /1' | awk -F\" \" '{ print $2 }' | tr -d \"\\\"" 

編集:私は、私はそれらすべてを得たと思ったが、中に必要な追加\」があるかもしれないようですその最後のビット。

関連する問題