Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Menemukan Kesamaan dan Perbedaan Antar File di Linux: Panduan Lengkap

Posted on August 22, 2024

Apakah Anda kesulitan membandingkan kesamaan atau perbedaan antara dua file dari baris perintah Linux? Jangan khawatir; di artikel ini, kami akan memandu Anda tentang cara melakukan tugas-tugas tersebut tanpa alat eksternal, hanya dengan menggunakan perintah bawaan.

File Contoh

Sebelum melanjutkan, perhatikan dua file berikut yang akan kami gunakan sebagai contoh untuk mendemonstrasikan semua contoh perintah yang akan dibahas dalam artikel ini:

file1.txt

1
2
2
3
4
5
6
7
8
9

file2.txt

1
2
3
4
5
6
7
8
9

Seperti yang Anda lihat dengan jelas, ‘1’ dan ‘2’ diulang di kedua file, tetapi yang mengejutkan, ‘2’ dideklarasikan beberapa kali di file pertama, dan ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ adalah perbedaan antara kedua file.

Mencari String Umum Antara Dua File

Hal pertama yang kita lakukan adalah mencari string umum antara kedua file, dan untuk itu, Anda dapat menggunakan beberapa perintah Linux. Demi artikel ini, saya akan fokus pada dua perintah Linux: awk dan grep.

  1. Menggunakan perintah awk:

Untuk mencari string serupa antara kedua file yang tidak diulang, Anda dapat menggunakan perintah awk berikut:

$ awk 'NR==FNR{a[$1]++;next} a[$1] ' file1.txt file2.txt

Output:

1
2

Anda dapat melihat bahwa perintah ini dengan mudah mencetak string ‘1’ dan ‘2’ yang sama antara kedua file. Untuk memahami opsi mana yang kami gunakan bersama dengan perintah, perhatikan daftar di bawah ini:

  • NR==FNR{a[$1]++;next}: Ini akan membandingkan dua file dengan memecah setiap string sebagai kunci dalam array asosiatif, kemudian meningkatkan nilainya ke baris berikutnya.
  • a[$1]: Ini digunakan untuk memproses file kedua, jadi jika bidang pertama (di file pertama) dari baris saat ini ada di file kedua, maka awk akan mencetak baris tersebut.
  1. Menggunakan perintah grep:

Untuk membandingkan string umum antara dua file menggunakan grep, Anda dapat menggunakan perintah berikut:

$ grep -o -w -F -f file1.txt file2.txt | sort | uniq -c

Output:

2 1
2 2

Di mana:

  • -o: Ini akan memastikan hanya mencetak bagian yang cocok dari baris daripada seluruh baris.
  • -w: Ini memastikan mencocokkan seluruh kata saja, bukan mencocokkan substring dalam kata yang lebih panjang.
  • -F: Ini memastikan memperlakukan pola sebagai string tetap daripada ekspresi reguler, yang berguna saat mencari string literal.
  • -f file1.txt file.2.txt: Ini adalah file yang akan digunakan untuk mencari pola.
  • sort: Perintah ini digunakan untuk mengurutkan baris teks secara alfanumerik.
  • uniq -C: Perintah ini digunakan untuk menghapus baris duplikat dari file yang diurutkan dan untuk menghitung jumlah kejadian dari setiap baris unik.

Mencari Perbedaan Antara Dua File

Mencari perbedaan antara dua file adalah tugas yang berbeda dari membandingkan kesamaan. Misalnya, di kedua file, string ‘2’ adalah umum, tetapi di file pertama, string tersebut diulang dua kali, dan di file kedua, string tersebut diulang sekali, jadi bagaimana menurut Anda tambahan dua akan dianggap sebagai kesamaan atau perbedaan antara kedua file tersebut?

  1. Menggunakan perintah diff:

Mari kita cari tahu dengan menggunakan perintah diff untuk memeriksa string mana yang ada di file pertama tetapi tidak ada di file kedua.

$ diff file1.txt file2.txt | grep '<' | cut -c 3

Output:

2

Seperti yang diharapkan, ‘2’ tambahan dianggap sebagai perbedaan antara kedua file tersebut. Oleh karena itu, saat membandingkan dua file, jumlah pengulangan string tunggal harus cocok di antara keduanya.

  1. Menggunakan perintah comm:

Mari kita cari tahu string mana yang ada di file kedua tetapi tidak ada di file pertama menggunakan perintah comm:

$ comm -13 <(sort file1.txt) <(sort file2.txt)

Output:

3
4
5
6
7
8
9

Kali ini, jika Anda perhatikan, ‘2’ tidak muncul di output; sebagai gantinya, kita mendapatkan ‘6’, ‘7’, ‘8’, dan ‘9’, yang tidak ada di file pertama. Alasan ‘2’ tidak muncul adalah karena string tersebut hanya diulang sekali di file kedua. Oleh karena itu, saat membandingkan file, mereka dianggap memiliki kesamaan daripada perbedaan.

Kesimpulan

Dengan menggunakan perintah Linux bawaan seperti awk, grep, diff, dan comm, Anda dapat dengan mudah membandingkan dua file untuk menemukan kesamaan dan perbedaannya. Perintah ini menawarkan fleksibilitas dan kekuatan dalam mengelola dan menganalisis data teks di lingkungan Linux.

Terbaru

  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Copy Prompt: A Modern Men’s Casual Fashion Studio Shoot
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • AI Made Everything Faster, Including Bad Decisions
  • Raspberry Pi Desktop Available of PC and Mac, Based on Debian 13
  • Why I Stopped Yelling at My PC When Error; Getting Windows 11 Voice Isolation and Access to Actually Work
  • Berobat Kanker ke Malaysia: Berapa Biayanya dan Apa Saja yang Perlu Disiapkan?
  • Stop Sending Every Prompt to the Biggest AI Model You Can Find
  • Stop Building AI Agents from Scratch: My Pick for the Best Native Windows Setup
  • Jev Is Faster and Cheaper, But I Still Recommend Clef. Here’s Why.
  • Weird XCP-NG Bug or Feature? Enable Maintenance Mode = Host Not Enough Memory
  • Vinix OS: Another OS That Want to Beat Linux, Try it!
  • Trying NVX, An Ultra-Light Micro-VM Sandbox from Microsoft
  • Learning NocoDB from Scratch: Creating a Simple Greenhouse App
  • How RHEL 10.2 Quietly Turned Into an Absolute Security Beast
  • Grab Videos from Anywhere with ReClip (Can Running Locally)
  • Jumped onto Ubuntu 26.04 LTS? Here’s How to Add a New User Account
  • Tutorial Cara Install WPS Office di Linux (Alternatif Microsoft Office)
  • Tutorial Upgrade Server Ubuntu 24.04 LTS ke Ubuntu 26.04 LTS dengan Aman
  • Inilah Alasan kenapa akun TikTok dibatasi tidak bisa klaim koin dan masalah pembatasan lainnya?
  • Apa penyebab gagal kirim SMS ke 89888 padahal pulsa masih ada?
  • Mengenal Donghua: Kenapa Animasi dari Tiongkok Ini Lagi Naik Daun Banget
  • OpenAI Bocorin Data Gambar Pengguna? Ini Kabar Terbaru Soal Insiden AI yang Bikin Heboh
  • Kenapa Postingan Instagram Kalian Sepi Like Padahal Followers Udah Banyak? Ini Rahasianya
  • Cara Menambah View Story Instagram Gratis Biar Nggak Sia-sia
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Trying Nemotron 3.5 Super VL: NVIDIA’s Open Multimodal Model Built for Agents That Actually See and Act
  • Pruna AI Release their Qwen-Image 2.1 LoRA Adapter, 6x Faster than Regular Qwen
  • The Rise and Fall of the Coding Holy Grail: Is Stack Overflow Just AI Fuel Now?
  • Zyphra is The Pioneer, Why Everyone is Suddenly Obsessed with AMD and Not Just Nvidia Anymore
  • Stop Trusting Your Prompts to Save Your Business Data
  • Lagi rame bahas film horor Pirunduk, ternyata ini arti aslinya dalam bahasa Banjar
  • Kabar duka, pengacara senior Kamaruddin Simanjuntak meninggal dunia, sempat berjuang lawan penyakit ginjal
  • Kabar duka dari keluarga Marsha Aruan, Bunda Lisa meninggal dunia setelah sebelumnya sempat dirawat di rumah sakit
  • Lagi rame cari Mod Drag Bike 201m Sunmori, mending pakai yang resmi atau nekat download APK modifikasi?
  • Lagi ramai bahas tugas sekolah soal lingkungan, ternyata tiap profesi punya peran penting buat jaga kota tetap sehat

©2026 emka.web.id | Design: Newspaperly WordPress Theme