curl
memiliki opsi -o
, --output
yang mengambil argumen tunggal yang menunjukkan keluaran nama file harus ditulis alih-alih stdout
. Jika Anda menggunakan {}
atau []
untuk mengelilingi elemen dalam URL (biasanya digunakan untuk mengambil beberapa dokumen), Anda dapat menggunakan #
diikuti oleh nomor dalam specifier nama file. Setiap variabel seperti itu akan diganti dengan string yang sesuai untuk URL yang diambil. Untuk mengambil beberapa file, tambahkan daftar token yang dipisahkan koma di dalam {}
. Jika bagian URL yang akan diambil adalah nomor urut, Anda dapat menentukan rentang dengan []
.
Contoh:
curl http://www.abc.com/123/{def}/{ghi}/{jkl}.mno -o '#1_#2_#3.mno'
Perhatikan tanda kutip di sekitar argumen opsi (tidak diperlukan kecuali nama file dimulai dengan salah satu variabel yang diperluas). Ini akan menghasilkan file output def_ghi_jkl.mno
.
curl http://www.abc.com/123/{def}/{ghi}/{jkl,pqr,stu}.mno -o '#1_#2_#3.mno'
Ini akan menghasilkan file output def_ghi_jkl.mno
, def_ghi_pqr.mno
dan def_ghi_stu.mno
.
curl http://www.abc.com/123/{def}/{ghi}/[1-3].mno -o '#1_#2_#3.mno'
Hal ini akan menghasilkan file output def_ghi_1.mno
, def_ghi_2.mno
, def_ghi_3.mno
.
Berikut ini beberapa trik Substitusi Bash
{$link:23: 23}
akan menghapus " http://www.abc.com/123/ " itu${parameter:offset:length}
, kemudiantr
akan diganti/
menjadi_
.Jadi sekarang Anda dapat dengan mudah menggunakan dengan wget atau curl
Kita juga dapat menggunakan awk, ini akan mengekstrak tiga yang terakhir diajukan dari string input:
sumber
Nama file yang Anda butuhkan tidak dapat diturunkan dengan
wget
sendirinya, sehingga harus ditangani oleh skrip shell:Atau jika Anda suka sebagai satu baris:
sumber
Jika Anda lebih suka ikal, cara paling langsung adalah:
nama file: nama file yang diunduh
id file: id file dalam tampilan web google drive dalam format https://drive.google.com/file/d/ file id / view
sumber