我有以下命令来卷曲url列表,但我想将输出文件重命名为其他文件,因为原始名称非常长,导致以下错误:
命令:
jq -r '… | .[]' | xargs -I{} curl -O {}
错误:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0Warning: Failed to create the file
Warning: 270230751_944073806238863_7984852070388291566_n.jpg?stp=dst-jpg_e35&_n
Warning: c_ht=example.njrsnnkjnrjgngkrnngrggk&_nc_cat=111&_nc_ohc=Ch26T4U5kDIAX
Warning: 8viWsL&edm=AABBvjUBAAAA&ccb=7-4&ig_cache_key=MjczOTA2MDk4MDU3MTIyNjQ1N
0 92492 0 1 0 0 1 0 25:41:32 --:--:-- 25:41:32 1
curl: (23) Failed writing body (0 != 1)
如何将一些参数传递给curl,使其将文件重命名为较小的名称,例如16位uuid或类似njfnjsnf48u8
的名称,但不太常见,因为一次可以下载多达1000个文件。
您可以操作xargs在curl命令中使用的{}变量,使其更加独特。如果您确定输入文件中没有重复的url,那么以下操作可能会起作用。
curl {} -o $(echo {}|base64)