次のコマンド:
jq ".[] | .file.url_private_download" *json
次の形式の複数行を生成します。
"https://files.slack.com/files-pri/T27SFGS2W-F78LH1DN2/download/img_1964.jpg?t=xoxe-243624297126-248125875671-248125975751-cee1f8d9a1"
各行の前にwgetコマンドを追加する最も簡単な方法は何ですか?
非常にありがとう
ベストアンサー1
以下はいくつか修正したコマンドです。
jq -r '.[] | @sh "wget \(.file.url_private_download)"' *json
多様性:
-r
JSONエンコード文字列の代わりに、デコードされた文字列を出力に取得するために使用されます。文書の値を文字列に挿入する
wget
ために使用される構造体で、目的の値が続く文字列を生成します。\(...)
@sh
シェル生成文字列を正しく引用するために使用されます。これにより、各文字列の補間値がシェルで使用するために安全に引用されます。
上記のコマンドを使用すると、表示されたURLを含むエントリが次の行を出力として生成すると予想されます。
wget 'https://files.slack.com/files-pri/T27SFGS2W-F78LH1DN2/download/img_1964.jpg?t=xoxe-243624297126-248125875671-248125975751-cee1f8d9a1'