GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah Bergabung Linux untuk Pemula (5 Contoh)

Terkadang, Anda mungkin ingin menggabungkan dua file dengan cara yang outputnya lebih masuk akal. Misalnya, mungkin ada file yang berisi nama benua, dan file lain yang berisi nama negara yang terletak di benua ini, dan persyaratannya adalah menggabungkan kedua file sedemikian rupa sehingga benua dan negara terkait muncul di baris yang sama.

Itu hanya satu contoh - mungkin ada ratusan kasus penggunaan seperti itu. Jika Anda menggunakan Linux dan mencari alat yang dapat membantu Anda dalam situasi seperti ini, Anda mungkin ingin memeriksa bergabung , yang merupakan utilitas baris perintah. Dalam tutorial ini, kita akan membahas perintah ini menggunakan beberapa contoh yang mudah dipahami.

Harap dicatat bahwa semua contoh yang disebutkan dalam artikel ini telah diuji di Ubuntu 16.04, dan versi perintah join yang kami gunakan adalah 8.25.

perintah bergabung dengan Linux

Perintah join memungkinkan Anda menggabungkan baris dari dua file pada bidang yang sama.

join [OPTION]... FILE1 FILE2

Inilah yang dikatakan halaman manual tentang alat ini:

For each pair of input lines with identical join fields, write a line to standard output. The default 
join field is the first, delimited by blanks. When FILE1 or FILE2 (not both) is -, read standard input.

Contoh berikut akan memberi Anda ide bagus tentang cara kerja perintah join.

1. Bagaimana cara menggabungkan baris file menggunakan perintah join?

Mari kita pahami penggunaan dasar perintah join. Misalkan ada dua file (file1 dan file2) yang berisi baris berikut:

1. Asia:
2. Africa:
3. Europe:
4. North America:

dan

1. India
2. Nigeria
3. The Netherlands
4. The US

Sekarang, Anda dapat menggabungkan kedua file ini dengan cara berikut:

join file1 file2

Berikut adalah output dari perintah di atas dalam kasus kami:

2. Bagaimana cara membuat join print unpairable lines?

Secara default, perintah join hanya mencetak baris yang dapat dipasangkan. Misalnya, meskipun file1 berisi bidang tambahan (nomor baris 5):

1. Asia:
2. Africa:
3. Europe:
4. North America:
5. South America:

menggabungkan file1 dan file2 tidak akan menghasilkan keluaran yang berbeda:

Itu karena garis yang tidak dapat dipasangkan ditinggalkan di output. Namun, jika mau, Anda masih dapat menampilkannya di output menggunakan -a opsi baris perintah. Opsi ini mengharuskan Anda untuk memberikan nomor file sehingga alat mengetahui file mana yang sedang Anda bicarakan.

Misalnya, dalam kasus kami, perintahnya adalah:

join file1 file2 -a 1

Jadi Anda dapat melihat bahwa baris tidak berpasangan dari file nomor 1 (file1 dalam kasus kami) juga ditampilkan di output.

Perhatikan bahwa jika Anda hanya ingin mencetak garis yang tidak berpasangan (artinya, menekan garis berpasangan dalam output), Anda dapat melakukannya menggunakan -v opsi baris perintah. Opsi ini bekerja persis seperti -a bekerja.

Berikut ini contoh opsi -v:

3. Bagaimana cara menyediakan bidang gabungan khusus?

Seperti yang sudah kita ketahui, join menggabungkan baris file pada bidang umum, yang merupakan bidang pertama secara default. Namun, jika mau, Anda dapat menentukan bidang yang berbeda untuk setiap file. Misalnya, perhatikan konten berikut di file1 dan file2, masing-masing.

* 1. Asia:
& 2. Africa:
@ 3. Europe:
# 4. North America:
# 1. India
@ 2. Nigeria
& 3. The Netherlands
* 4. The US

Sekarang, jika Anda ingin bidang kedua dari setiap baris menjadi bidang umum untuk digabungkan, Anda dapat memberi tahu alat ini dengan menggunakan -1 dan -2 opsi baris perintah. Sementara yang pertama mewakili file pertama, yang terakhir mengacu pada file kedua. Opsi ini memerlukan argumen numerik yang merujuk ke bidang gabungan untuk file terkait.

Misalnya, dalam kasus kami, perintahnya adalah:

join -1 2 -2 2 file1 file2

Dan inilah output dari perintah ini:

Perhatikan bahwa jika posisi bidang umum sama di kedua file (seperti dalam contoh yang baru saja kita bahas, di mana itu 2), Anda dapat mengganti bagian - 1 [bidang] -2 [bidang] dalam perintah dengan -j [bidang] . Jadi dalam kasus kami, perintahnya akan menjadi:

gabung -j2 file1 file2

4. Bagaimana cara membuat operasi gabungan tidak peka huruf besar/kecil?

Secara default, operasi perintah join peka huruf besar/kecil. Misalnya, perhatikan file berikut:

file1

A. Asia:
B. Africa:
C. Europe:
D. North America:

file2

a. India
b. Nigeria
c. The Netherlands
d. The US

Sekarang, jika Anda mencoba menggabungkan kedua file ini, menggunakan bidang umum default (pertama), tidak akan terjadi apa-apa. Itu karena kasus elemen bidang di kedua file berbeda. Untuk membuat gabung mengabaikan masalah kasus ini, gunakan -i opsi baris perintah.

Berikut perintah untuk kasus kami:

join -i file1 file2

Dan tangkapan layar berikut menunjukkan perintah beraksi:

5. Bagaimana cara membuat gabung tidak memeriksa input yang diurutkan?

Secara default, perintah join memeriksa apakah input yang diberikan diurutkan atau tidak, dan melaporkan jika tidak. Sebagai contoh, perhatikan output berikut ketika informasi dalam file1 tidak diurutkan:

Sekarang, jika Anda ingin kesalahan/peringatan ini hilang, Anda dapat melakukannya menggunakan --nocheck-order pilihan. Ini perintah yang sama, tetapi dengan opsi ini diaktifkan:

Jadi Anda dapat melihat bahwa perintah join tidak memeriksa input yang diurutkan kali ini.

Kesimpulan

Bergabung mungkin bukan alat yang sangat mudah untuk dipahami, tetapi begitu Anda terbiasa, itu bisa bertindak sebagai penghemat waktu yang sangat besar bagi Anda dalam beberapa situasi. Kami telah membahas sebagian besar opsi baris perintah di sini. Coba ini, dan setelah selesai, buka halaman manual perintah untuk sisanya.


Linux
  1. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  2. Tutorial Perintah Tanggal Linux untuk Pemula (8 Contoh)

  3. Tutorial Perintah Hostname Linux untuk Pemula (5 Contoh)

  1. Tutorial perintah comm Linux untuk pemula (5 contoh)

  2. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  3. Tutorial Perintah Linux du untuk Pemula (10 Contoh)

  1. Tutorial Perintah gema Linux untuk Pemula (5 Contoh)

  2. Tutorial Perintah Linux env Untuk Pemula (5 Contoh)

  3. Tutorial Perintah ukuran Linux untuk Pemula (6 Contoh)