我有一个curl脚本,用于从URL中读取文件。现在,下载tar文件后,我需要解压缩它们。
for file in $(/usr/bin/curl 'https://linktofile.com/yourfile.txt' );
do
echo $file;
/usr/bin/curl -L -J -O "$file";
done;
输出到屏幕上的是
curl: Saved to filename 'your_file_1.tar'
如何解压缩保存的文件?
我尝试添加tar -xvf $file
,但没有任何反应。
如何获取刚刚保存的文件的名称?
答案 0 :(得分:1)
使用-J
会使文件的位置取决于Content-Disposition
标头,因此您需要检索它指定的文件名。为此,您可以通过-w
指定curl
命令的输出,您将希望输出该文件名:
for url in $(/usr/bin/curl 'https://linktofile.com/yourfile.txt' ); do
filename=$(/usr/bin/curl -sLJOw '%{filename_effective}' "$url")
tar -xvf "$filename"
done