GNU/Linux >> Belajar Linux >  >> Linux

15 Linux Split dan Gabung Contoh Perintah untuk Mengelola File Besar

Perintah split and join Linux sangat membantu saat Anda memanipulasi file besar. Artikel ini menjelaskan cara menggunakan perintah split and join Linux dengan contoh deskriptif.

Gabung dan pisahkan sintaks perintah:

gabung [OPTION]… FILE1 FILE2
split [OPTION]… [INPUT [PREFIX]]

Contoh Perintah Split Linux

1. Contoh Pemisahan Dasar

Berikut adalah contoh dasar perintah split.

$ split split.zip 

$ ls
split.zip  xab  xad  xaf  xah  xaj  xal  xan  xap  xar  xat  xav  xax  xaz  xbb  xbd  xbf  xbh  xbj  xbl  xbn
xaa        xac  xae  xag  xai  xak  xam  xao  xaq  xas  xau  xaw  xay  xba  xbc  xbe  xbg  xbi  xbk  xbm  xbo

Jadi kita melihat bahwa file split.zip dipecah menjadi file yang lebih kecil dengan x** sebagai nama file. Di mana ** adalah akhiran dua karakter yang ditambahkan secara default. Selain itu, secara default setiap file x** akan berisi 1000 baris.

$ wc -l *
   40947 split.zip
    1000 xaa
    1000 xab
    1000 xac
    1000 xad
    1000 xae
    1000 xaf
    1000 xag
    1000 xah
    1000 xai
...
...
...

Jadi output di atas mengkonfirmasi bahwa secara default setiap file x** berisi 1000 baris.

2.Ubah Panjang Sufiks menggunakan opsi -a

Seperti yang dibahas pada contoh 1 di atas, panjang sufiks default adalah 2. Tapi ini dapat diubah dengan menggunakan opsi -a.

Seperti yang Anda lihat dalam contoh berikut, ia menggunakan akhiran dengan panjang 5 pada file yang dipisah.

$ split -a5 split.zip
$ ls
split.zip  xaaaac  xaaaaf  xaaaai  xaaaal  xaaaao  xaaaar  xaaaau  xaaaax  xaaaba  xaaabd  xaaabg  xaaabj  xaaabm
xaaaaa     xaaaad  xaaaag  xaaaaj  xaaaam  xaaaap  xaaaas  xaaaav  xaaaay  xaaabb  xaaabe  xaaabh  xaaabk  xaaabn
xaaaab     xaaaae  xaaaah  xaaaak  xaaaan  xaaaaq  xaaaat  xaaaaw  xaaaaz  xaaabc  xaaabf  xaaabi  xaaabl  xaaabo

Catatan:Sebelumnya kami juga membahas tentang utilitas manipulasi file lainnya – tac, rev, paste.

3.Sesuaikan Ukuran File Terpisah menggunakan opsi -b

Ukuran setiap file split keluaran dapat dikontrol menggunakan opsi -b.

Dalam contoh ini, file split dibuat dengan ukuran 200000 byte.

$ split -b200000 split.zip 

$ ls -lart
total 21084
drwxrwxr-x 3 himanshu himanshu     4096 Sep 26 21:20 ..
-rw-rw-r-- 1 himanshu himanshu 10767315 Sep 26 21:21 split.zip
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xad
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xac
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xab
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xaa
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xah
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xag
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xaf
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xae
-rw-rw-r-- 1 himanshu himanshu   200000 Sep 26 21:35 xar
...
...
...

4. Buat File Split dengan Sufiks Numerik menggunakan opsi -d

Seperti yang terlihat pada contoh di atas, output memiliki format x** di mana ** adalah alfabet. Anda dapat mengubahnya menjadi angka menggunakan opsi -d.

Berikut adalah contoh. Ini memiliki akhiran numerik pada file split.

$ split -d split.zip
$ ls
split.zip  x01  x03  x05  x07  x09  x11  x13  x15  x17  x19  x21  x23  x25  x27  x29  x31  x33  x35  x37  x39
x00        x02  x04  x06  x08  x10  x12  x14  x16  x18  x20  x22  x24  x26  x28  x30  x32  x34  x36  x38  x40

5. Sesuaikan Jumlah Potongan Split menggunakan opsi -C

Untuk mengontrol jumlah potongan, gunakan opsi -C.

Contoh ini akan membuat 50 potongan file terpisah.

$ split -n50 split.zip
$ ls
split.zip  xac  xaf  xai  xal  xao  xar  xau  xax  xba  xbd  xbg  xbj  xbm  xbp  xbs  xbv
xaa        xad  xag  xaj  xam  xap  xas  xav  xay  xbb  xbe  xbh  xbk  xbn  xbq  xbt  xbw
xab        xae  xah  xak  xan  xaq  xat  xaw  xaz  xbc  xbf  xbi  xbl  xbo  xbr  xbu  xbx

6. Hindari Potongan Berukuran Nol menggunakan opsi -e

Saat membelah file yang relatif kecil dalam jumlah besar potongan, baik untuk menghindari potongan berukuran nol karena mereka tidak menambah nilai apapun. Ini dapat dilakukan dengan menggunakan opsi -e.

Ini contohnya:

$ split -n50 testfile

$ ls -lart x*
-rw-rw-r-- 1 himanshu himanshu 0 Sep 26 21:55 xag
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:55 xaf
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:55 xae
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:55 xad
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:55 xac
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:55 xab
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:55 xaa
-rw-rw-r-- 1 himanshu himanshu 0 Sep 26 21:55 xbx
-rw-rw-r-- 1 himanshu himanshu 0 Sep 26 21:55 xbw
-rw-rw-r-- 1 himanshu himanshu 0 Sep 26 21:55 xbv
...
...
...

Jadi kita melihat bahwa banyak potongan ukuran nol diproduksi di output di atas. Sekarang, mari gunakan opsi -e dan lihat hasilnya:

$ split -n50 -e testfile
$ ls
split.zip  testfile  xaa  xab  xac  xad  xae  xaf

$ ls -lart x*
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:57 xaf
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:57 xae
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:57 xad
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:57 xac
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:57 xab
-rw-rw-r-- 1 himanshu himanshu 1 Sep 26 21:57 xaa

Jadi kita melihat bahwa tidak ada potongan berukuran nol yang dihasilkan pada output di atas.

7. Sesuaikan Jumlah Baris menggunakan opsi -l

Jumlah baris per output file split dapat dikustomisasi menggunakan opsi -l.

Seperti yang terlihat pada contoh di bawah ini, file split dibuat dengan 20000 baris.

$ split -l20000 split.zip

$ ls
split.zip  testfile  xaa  xab  xac

$ wc -l x*
   20000 xaa
   20000 xab
     947 xac
   40947 total

Dapatkan Informasi Detail menggunakan opsi –verbose

Untuk mendapatkan pesan diagnostik setiap kali file split baru dibuka, gunakan opsi –verbose seperti yang ditunjukkan di bawah ini.

$ split -l20000 --verbose split.zip
creating file `xaa'
creating file `xab'
creating file `xac'

Contoh Perintah Bergabung dengan Linux

8. Contoh Gabung Dasar

Perintah join bekerja pada field pertama dari dua file (disediakan sebagai input) dengan mencocokkan field pertama.

Ini contohnya :

$ cat testfile1
1 India
2 US
3 Ireland
4 UK
5 Canada

$ cat testfile2
1 NewDelhi
2 Washington
3 Dublin
4 London
5 Toronto

$ join testfile1 testfile2
1 India NewDelhi
2 US Washington
3 Ireland Dublin
4 UK London
5 Canada Toronto

Jadi kita melihat bahwa file yang berisi negara digabungkan dengan file lain yang berisi huruf kapital berdasarkan kolom pertama.

9. Bergabunglah dengan karya di Daftar Terurut

Jika salah satu dari dua file yang disediakan untuk bergabung dengan perintah tidak diurutkan maka akan muncul peringatan di output dan entri tertentu tidak bergabung.

Dalam contoh ini, karena file input tidak diurutkan, maka akan muncul pesan peringatan/kesalahan.

$ cat testfile1
1 India
2 US
3 Ireland
5 Canada
4 UK

$ cat testfile2
1 NewDelhi
2 Washington
3 Dublin
4 London
5 Toronto

$ join testfile1 testfile2
1 India NewDelhi
2 US Washington
3 Ireland Dublin
join: testfile1:5: is not sorted: 4 UK
5 Canada Toronto

10. Abaikan Kasus menggunakan opsi -i

Saat membandingkan bidang, perbedaan huruf besar/kecil dapat diabaikan menggunakan opsi -i seperti yang ditunjukkan di bawah ini.

$ cat testfile1
a India
b US
c Ireland
d UK
e Canada

$ cat testfile2
a NewDelhi
B Washington
c Dublin
d London
e Toronto

$ join testfile1 testfile2
a India NewDelhi
c Ireland Dublin
d UK London
e Canada Toronto

$ join -i testfile1 testfile2
a India NewDelhi
b US Washington
c Ireland Dublin
d UK London
e Canada Toronto

11. Verifikasi bahwa Input Diurutkan menggunakan opsi –check-order

Berikut adalah contoh. Karena testfile1 tidak disortir menjelang akhir, maka terjadi kesalahan pada output.

$ cat testfile1
a India
b US
c Ireland
d UK
f Australia
e Canada

$ cat testfile2
a NewDelhi
b Washington
c Dublin
d London
e Toronto

$ join --check-order testfile1 testfile2
a India NewDelhi
b US Washington
c Ireland Dublin
d UK London
join: testfile1:6: is not sorted: e Canada

12. Jangan Centang Sortir menggunakan opsi –nocheck-order

Ini kebalikan dari contoh sebelumnya. Tidak ada pemeriksaan sortir yang dilakukan dalam contoh ini, dan tidak akan menampilkan pesan kesalahan apa pun.

$ join --nocheck-order testfile1 testfile2
a India NewDelhi
b US Washington
c Ireland Dublin
d UK London

13. Cetak Garis yang Tidak Dapat Dipasangkan menggunakan opsi -a

Jika kedua file input tidak dapat dipetakan satu per satu maka melalui opsi -a[FILENUM] kita dapat memiliki garis-garis yang tidak dapat dipasangkan saat membandingkan. FILENUM adalah nomor file (1 atau 2).

Dalam contoh berikut, kita melihat bahwa menggunakan -a1 menghasilkan baris terakhir di testfile1 (ditandai dengan huruf tebal di bawah) yang tidak memiliki pasangan di testfile2.

$ cat testfile1
a India
b US
c Ireland
d UK
e Canada
f Australia

$ cat testfile2
a NewDelhi
b Washington
c Dublin
d London
e Toronto

$ join testfile1 testfile2
a India NewDelhi
b US Washington
c Ireland Dublin
d UK London
e Canada Toronto

$ join -a1 testfile1 testfile2
a India NewDelhi
b US Washington
c Ireland Dublin
d UK London
e Canada Toronto
f Australia

14. Cetak Hanya Garis Tidak Berpasangan menggunakan opsi -v

Dalam contoh di atas, baik garis berpasangan dan tidak berpasangan dihasilkan dalam output. Tetapi, jika hanya output yang tidak berpasangan yang diinginkan, gunakan opsi -v seperti yang ditunjukkan di bawah ini.

$ join -v1 testfile1 testfile2
f Australia

15. Gabung Berdasarkan Kolom Berbeda dari Kedua File menggunakan opsi -1 dan -2

Secara default kolom pertama di kedua file digunakan untuk membandingkan sebelum bergabung. Anda dapat mengubah perilaku ini menggunakan opsi -1 dan -2.

Pada contoh berikut, kolom pertama testfile1 dibandingkan dengan kolom kedua testfile2 untuk menghasilkan output perintah join.

$ cat testfile1
a India
b US
c Ireland
d UK
e Canada

$ cat testfile2
NewDelhi a
Washington b
Dublin c
London d
Toronto e

$ join -1 1 -2 2 testfile1 testfile2
a India NewDelhi
b US Washington
c Ireland Dublin
d UK London
e Canada Toronto

Linux
  1. Perintah Linux Cat:Penggunaan dan Contohnya

  2. Perintah Linux - Gambaran Umum dan Contoh

  3. Bagaimana Cara Menyalin File di Linux dan Unix? Contoh Perintah 10 cp

  1. Cara Memisahkan Dan Menggabungkan File Dari Baris Perintah Di Linux

  2. 10 Contoh Perintah Cat untuk Mengelola File di Linux / UNIX

  3. bergabung dengan Contoh Perintah di Linux

  1. Contoh Praktis Perintah rsync di Linux

  2. 10 Contoh Perintah DU Linux (Ukuran Penggunaan Disk File dan Folder)

  3. Contoh Perintah Objcopy Linux untuk Menyalin dan Menerjemahkan File Objek