2017-12-04 14 views
1

で変数内のテキスト、私はここに変数にカール応答を保存しています置き換えますバッシュ

results=$(curl -username:password "URL/api/search/dates?dateFields=created&from=${Three_Months_Ago}&today&repos=generic-sgca" | jq -r '.results[].uri') 
echo "$results" 

以下を返す:

これらの行のそれぞれにおいて
URL/api/storage/generic-sgca/Lastest_Deploy.tar 
URL/api/storage/generic-sgca/Installer-Deploy-0.0.5/SignalStudioPro-Alpha-1-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-0.0.5/SignalStudioPro-Alpha-1-windows-installer.exe 
URL/api/storage/generic-sgca/Installer-Deploy-0.0.99/SignalStudioPro-Alpha-1-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-0.0.99/SignalStudioPro-Alpha-1-windows-installer.exe 
URL/api/storage/generic-sgca/Installer-Deploy-0.2.0/SignalStudioPro-Alpha-2-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-0.2.0/SignalStudioPro-Alpha-2-windows-installer.exe 
URL/api/storage/generic-sgca/Installer-Deploy-100.0.0/SignalStudioPro-Alpha-2-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-100.0.0/SignalStudioPro-Alpha-2-windows-installer.exe 
URL/api/storage/generic-sgca/Installer-Deploy-101.0.0/SignalStudioPro-Alpha-2-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-101.0.0/SignalStudioPro-Alpha-2-windows-installer.exe 
URL/api/storage/generic-sgca/Installer-Deploy-99.9.9/SignalStudioPro-Alpha-2-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-99.9.9/SignalStudioPro-Alpha-2-windows-installer.exe 
URL/api/storage/generic-sgca/Installer-Deploy-99.9.91/SignalStudioPro-Alpha-2-linux-x64-installer.run 
URL/api/storage/generic-sgca/Installer-Deploy-99.9.91/SignalStudioPro-Alpha-2-windows-installer.exe 

を、私は削除する必要があります"/ api/storage"はURLの一部です。どうすればこれを達成できますか? parameter expansion

+0

単純な答えは、1つの変数に複数行の応答を格納しないことです。前の質問に言及したように、Bash FAQ 001を参照してください。 – chepner

答えて

1
echo "${results//\/api\/storage/}" 

は、あなたが求めているものだろうが、ちょうどそれを印刷するために、変数に結果を捕捉するためには良い理由はおそらくありません。たぶん、あなたは

curl ... | jq ... | sed 's=/api/storage==' 

たりjqスクリプトの一部としてsubsititutionを行う方法を考え出すとの方がいいでしょう。

+0

私はcurlコマンドの最後に| sed 's =/api/storage =='を追加して入手できました。私はそれが今働いていると思う、非常にありがとう。 –

1

echo "${results//\/api\/storage}"