Ekstrak / simpan lampiran surat menggunakan bash


30

Menggunakan bashalat normal (yaitu, built-in atau alat baris perintah yang tersedia secara umum), itu

  • mungkin, dan
  • bagaimana

untuk mengekstrak / menyimpan lampiran pada email?

Misalnya, saya punya laporan malam yang datang melalui email tetapi merupakan arsip zip dari beberapa file log. Saya ingin menyimpan semua ritsleting ke direktori cadangan. Bagaimana saya mencapai itu?


"alat bash normal" - maksud Anda hanya menggunakan fungsi yang dibangun dalam bash (yaitu apa yang akan Anda temukan di halaman bash man) atau maksud Anda, secara umum, alat baris perintah yang dapat Anda tambahkan ke skrip bash shell ?
Doug Harris

@Doug Harris - baik .. jika saya bisa menelepon maildan melakukan ini, atau menyimpan lampiran juga, itu baik-baik saja :)
warren

Jawaban:


29

Jika Anda bertujuan untuk portabilitas, berhati-hatilah karena ada beberapa versi mail(1)dan mailx(1). Ada mailxperintah POSIX , tetapi dengan sedikit persyaratan. Dan tidak satupun implementasi yang saya miliki untuk mengurai lampiran.

Anda mungkin memiliki paket mpack . Its munpackperintah menyimpan semua bagian pesan MIME dalam berkas terpisah, maka yang harus Anda lakukan adalah menyimpan bagian yang menarik dan membersihkan sisanya.

Ada juga metamail . Setara dengan munpackis metamail -wy.


Juga untuk menambahkan bahwa jika Anda ingin juga mengekstrak teks bagian MIME dari email saat menggunakan munpackkemudian gunakan opsi '-t':munpack -t email_file
Pierz

Terima kasih atas info tentangnya metamail. Bisakah Anda membantu saya dengan pertanyaan ini ?
george


2
  • YA mungkin

  • Ini CARA (Sumber dari sini )

temukan dir yang berisi file | saat membaca file; melakukan

buat tempdir dan salin file di sana

jalankan munpack pada file dan salin lampiran di tempat lain

menghancurkan tempdir (konten)

selesai


Jika ada yang ingin saya tempel skrip Perl di sini maka tinggalkan komentar
subanki

1
jika Anda akan sangat baik (jelas meninggalkan atribusi tempat Anda menemukannya :))
warren

1
baca saja skripnya ... itu banyak perl heckuva!
warren

jadi Anda yakin Anda ingin saya memasukkan itu pada jawaban saya, itu akan menjadi sangat panjang.
subanki

jangan tempel di sini, menyalin dari sumber asli akan lebih baik dalam hal ini :)
warren
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.