GNU/Linux >> Belajar Linux >  >> Linux

Fungsi Bash Untuk Mengekstrak Arsip File Dari Berbagai Jenis

Ada begitu banyak aplikasi yang tersedia untuk mengekstrak berbagai jenis file arsip. Mengingat semua opsi dan parameter dari setiap alat arsip akan sulit bagi Anda. Jangan khawatir! Hari ini, saya menemukan fungsi Bash sederhana untuk mengekstrak arsip file dari berbagai jenis di Linux.

Fungsi Bash ini dapat mengekstrak format arsip yang paling umum digunakan, seperti .tar.bz2 , .tar.bz , .bz2 , .rar , .zip , dan .7z dll. Anda tidak perlu menggunakan aplikasi pengarsipan yang sebenarnya untuk mengekstrak file arsip! Cukup tambahkan fungsi ini ke file ~/.bashrc Anda dan panggil untuk mengekstrak file arsip. Ini akan secara otomatis menemukan dan menggunakan alat pengarsipan yang sesuai untuk mengekstrak file. Tidak perlu mengingat bendera dan opsi!

Fungsi Bash untuk mengekstrak arsip file

Buka ~/.bashrc file dalam editor teks pilihan Anda:

$ nano ~/.bashrc

Tambahkan cuplikan berikut di akhir:

# Bash Function To Extract File Archives Of Various Types
extract () {
     if [ -f $1 ] ; then
         case $1 in
             *.tar.bz2)   tar xjf $1     ;;
             *.tar.gz)    tar xzf $1     ;;
             *.bz2)       bunzip2 $1     ;;
             *.rar)       rar x $1       ;;
             *.gz)        gunzip $1      ;;
             *.tar)       tar xf $1      ;;
             *.tbz2)      tar xjf $1     ;;
             *.tgz)       tar xzf $1     ;;
             *.zip)       unzip $1       ;;
             *.Z)         uncompress $1  ;;
             *.7z)        7z x $1    ;;
             *)           echo "'$1' cannot be extracted via extract()" ;;
         esac
     else
         echo "'$1' is not a valid file"
     fi
}

Tekan Ctrl+o dan tekan ENTER untuk menyimpan file lalu tekan Ctrl+ x untuk keluar dari file. Jalankan perintah berikut untuk menerapkan perubahan:

$ source ~/.bashrc

Mulai sekarang, Anda cukup memanggil fungsi ini untuk mengekstrak berbagai jenis file arsip.

Misalnya, saya akan mengekstrak .7z jenis file arsip menggunakan perintah:

$ extract archive.7z 

Contoh keluaran:

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_IN,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (206A7),ASM)

Scanning the drive for archives:
1 file, 16013693 bytes (16 MiB)

Extracting archive: archive.7z
--
Path = archive.7z
Type = 7z
Physical Size = 16013693
Headers Size = 1204
Method = LZMA:23
Solid = +
Blocks = 1

Everything is Ok                                                               

Folders: 21
Files: 37
Size:       16625007
Compressed: 16013693

Demikian pula, untuk mengekstrak .zip ketik file, perintahnya adalah:

$ extract archive.zip 

Harap dicatat bahwa Anda harus menginstal pengelola arsip yang sesuai sebelum menggunakan fungsi ini. Jika tidak ada alat arsip yang didukung yang diinstal pada sistem Anda, Anda akan menerima pesan kesalahan seperti di bawah ini:

$ extract archive.zip 
bash: /usr/bin/unzip: No such file or directory

Penulis asli skrip ini tidak diketahui. Script ini disebutkan di banyak tempat di Internet. Jika ada yang tahu siapa yang menulis ini, beri tahu saya di bagian komentar di bawah. Saya akan menambahkan detail penulis.

Apakah Anda menggunakan fungsi Bash keren lainnya? Silakan bagikan melalui kolom komentar. Semoga bermanfaat bagi saya dan juga semua pembaca.

Bacaan terkait:

  • Mengganti Nama File Tanpa Mengetik Nama Lengkap Dua Kali Di Linux
  • Tips Bash - Cara cp atau mv dan cd dalam satu perintah
  • [Tips Bash] Cara cd dan ls dalam satu perintah
  • Cara Mengarsipkan File Dan Direktori Di Linux [Bagian 1]

Linux
  1. Ekstrak nama file dasar tanpa jalur dan ekstensi di bash

  2. Fungsi Bash untuk menemukan pola pencocokan file terbaru

  3. Bagaimana cara mengekstrak bagian teks dari file biner di linux/bash?

  1. Bagaimana Cara Membuat, Mengekstrak, atau Membuka file RAR di Linux?

  2. Basa'?

  3. ekstrak satu file dari file tgz besar

  1. Bash:Tulis ke File

  2. 10 contoh perintah Tar di Linux untuk membuat dan mengekstrak arsip

  3. Contoh cpio Linux:Cara Membuat dan Mengekstrak Arsip cpio (dan arsip tar)