Perintah wc: Menghitung Baris dan Kata, serta Memakai wc -l dengan Pipe

Lingkungan ujiKeluarga RHELAlmaLinux 9.8akun rootDiperiksa 2026-10-29

Perintah wc adalah perintah Linux yang menghitung lalu menampilkan jumlah baris, kata, dan byte dalam sebuah file. Jika Anda menghitung baris file contoh log akses server web dengan wc -l, hasilnya 10, dan jika Anda menyaring hanya respons 404 dengan grep lalu meneruskannya ke wc -l, Anda dapat melihat jumlah permintaan yang gagal, 3, sebagai satu angka.

Log, isi file, dan folder kerja /root/work di bawah ini adalah nilai contoh. Log tersebut adalah file sepuluh baris yang dibuat dengan alamat IP khusus dokumentasi, dan file lainnya juga semuanya dibuat untuk pengujian.

1️⃣ Cara dasar memakai perintah wc dan membaca keluarannya

Bentuk dasar perintahnya adalah wc, lalu opsi, lalu file. Jika Anda hanya memberi file tanpa opsi, wc menampilkan jumlah baris, jumlah kata, dan jumlah byte secara berurutan, lalu menambahkan nama file di bagian akhir.

cd /root/work
wc access.log
 10 100 766 access.log

Pada hasil penghitungan log akses, 10 adalah jumlah baris, 100 jumlah kata, dan 766 jumlah byte.

Untuk melihat satu angka saja, tambahkan salah satu dari -l, -w, atau -c.

wc -l access.log
10 access.log
wc -w access.log
100 access.log
wc -c access.log
766 access.log

Jika Anda memberi file yang tidak ada, muncul pesan galat dan kode keluarnya 1.

wc nosuch.txt
wc: nosuch.txt: No such file or directory
echo $?
1

2️⃣ Menghitung baris dengan wc -l dan pipe

Jika nama file ikut tampil saat menghitung baris, Anda perlu memotong nama itu sekali lagi ketika menyimpan angkanya ke variabel skrip. Jika file diteruskan lewat pengalihan (<) atau pipe, wc tidak mengetahui nama file sehingga hanya menampilkan angkanya.

wc -l < access.log
10
cat access.log | wc -l
10

Dengan menaruh grep sebelum pipe, Anda bisa menghitung hanya baris yang memenuhi syarat. Pencarian menyertakan spasi sebelum dan sesudah kode respons 404, dan ada tiga baris yang berisi 404.

grep ' 404 ' access.log | wc -l
3

Untuk menghitung berapa IP yang terhubung, potong hanya kolom pertama, hapus baris yang berulang dengan sort -u, lalu hitung. Dalam log sepuluh baris itu ada empat IP yang berbeda.

cut -d ' ' -f 1 access.log | sort -u
192.0.2.10
192.0.2.44
198.51.100.7
203.0.113.25
cut -d ' ' -f 1 access.log | sort -u | wc -l
4

wc -l menghitung jumlah karakter baris baru. Karena itu, pada file yang baris terakhirnya tidak diakhiri baris baru, wc -l menampilkan 1 meskipun cat menampilkan dua baris.

cat no-newline.txt
first line
last line
wc -l no-newline.txt
1 no-newline.txt

Jika jumlah baris keluar kurang satu, periksa dulu apakah baris terakhir diakhiri baris baru.

3️⃣ Opsi wc dan jumlah karakter dengan -c dan -m

Dalam UTF-8, huruf Inggris dan angka memakai 1 byte per karakter, sedangkan karakter Korea (Hangul) dan ☕ masing-masing memakai 3 byte. Karena itu, pada file yang hanya berisi teks Inggris, jumlah byte dari -c dan jumlah karakter dari -m sama, tetapi begitu ada huruf Korea, kedua angka itu berbeda. Perbandingan ini memakai file berisi dua baris nama menu dalam bahasa Korea dan satu baris dalam bahasa Inggris.

cat menu.txt
아메리카노
카페 라테 ☕
tea
wc -c menu.txt
38 menu.txt
wc -m menu.txt
18 menu.txt

-c menghasilkan 38 dan -m menghasilkan 18, selisih 20. Itu adalah tambahan 2 byte yang dipakai oleh masing-masing sembilan karakter Korea dan ☕, jadi untuk file yang berisi huruf Korea, hitung dengan -m agar sesuai dengan jumlah karakter sebenarnya. Pengukuran dilakukan pada locale C.UTF-8, dan menurut manual, -m menghitung dalam satuan karakter locale tersebut.

-L menampilkan lebar tampilan baris terpanjang. Pada log akses, baris terpanjang selebar 82 kolom; pada file menu, setiap karakter Korea dan ☕ memakai dua kolom, sehingga baris 7 karakter menghasilkan 12.

wc -L access.log
82 access.log
wc -L menu.txt
12 menu.txt

Huruf Latin beraksen memakai 2 byte per karakter dalam UTF-8. Ini diukur terpisah dengan file yang hanya berisi satu baris café.

cat cafe.txt
café
wc -c cafe.txt
6 cafe.txt
wc -m cafe.txt
5 cafe.txt

-c menghasilkan 6 dan -m menghasilkan 5, karena satu é memakai 1 byte lebih banyak. Huruf Inggris dan angka memakai 1 byte, huruf beraksen seperti é memakai 2 byte, dan karakter Korea serta ☕ memakai 3 byte, sehingga jumlah byte bisa berbeda meskipun jumlah karakternya sama.

Tabel berikut merangkum perintah yang cocok untuk tiap tugas beserta angka yang dihitung di artikel ini.

TugasPerintahHasil ukur di artikel ini
Mendapatkan jumlah baris saja sebagai angkawc -l < access.log10Angka saja, tanpa nama file
Menghitung baris yang memenuhi syaratgrep ‘ 404 ‘ access.log | wc -l3Baris dengan respons 404
Menghitung nilai yang berbedacut -d ‘ ‘ -f 1 access.log | sort -u | wc -l4Jumlah IP yang berbeda
Memeriksa ukuran filewc -c access.log766Jumlah byte
Jumlah karakter file yang berisi huruf Koreawc -m menu.txt1838 jika file yang sama dihitung dengan -c
Lebar tampilan baris terpanjangwc -L access.log8212 untuk file menu, yang menghitung tiap karakter Korea sebagai dua kolom
Total baris beberapa filewc -l *.log13Total di baris total

4️⃣ Total beberapa file dengan wc di Linux

Jika Anda memberi beberapa file, wc menampilkan satu baris per file dan menambahkan totalnya di baris terakhir sebagai total. Jika log akses dan log galat dihitung bersama, angka 13 di baris total adalah jumlah baris kedua file itu.

wc access.log error.log
 10 100 766 access.log
  3  11  76 error.log
 13 111 842 total

Untuk menghitung sekaligus log yang ekstensinya sama, gunakan wildcard. Shell mengubah *.log menjadi nama-nama file sebelum meneruskannya, jadi hasilnya sama dengan menuliskan setiap nama file satu per satu.

wc -l *.log
 10 access.log
  3 error.log
 13 total

File dengan ekstensi berbeda juga bisa dihitung sekaligus jika namanya ditulis berurutan. Dua log dan file menu yang dihitung bersama menghasilkan total 16.

wc -l access.log error.log menu.txt
 10 access.log
  3 error.log
  3 menu.txt
 16 total

🔲 Simulator perintah wc

Di simulator di bawah ini, Anda bisa mengetik sendiri wc pada file contoh dari artikel ini. Dengan chip Anda bisa mencoba -l, -m, dan penghitungan lewat pipe, dan jika Anda menambah satu baris ke access.log lalu menghitung lagi, angkanya bertambah.

Simulator perintah wcwc / akun root
[root@server work]#
Gunakan tombol ↑↓ pada keyboard untuk memanggil kembali perintah yang diketik sebelumnya.

🔢 FAQ & Konten yang Direkomendasikan

Ya, saat menghitung baris yang memenuhi syarat dalam satu file. Pada log akses yang sama, grep -c dengan syarat yang sama juga menghasilkan 3. grep -c cukup dengan satu perintah tanpa pipe, sedangkan wc -l dipakai untuk menghitung keluaran perintah lain selain grep, seperti sort atau cut.

wc -w menghitung setiap potongan yang dipisahkan spasi, tab, atau baris baru sebagai satu kata. Hasil [echo ‘log_level=warn timeout = 30’ | wc -w] adalah 4. log_level=warn yang ditulis tanpa spasi dihitung sebagai satu kata, dan = yang diapit spasi dihitung sebagai kata tersendiri.

Pilih hanya file dengan find lalu teruskan ke wc -l. Pada folder contoh, [find /root/work -type f | wc -l] menampilkan 5. [ls | wc -l] juga menghasilkan 5 di folder yang sama, tetapi ls juga menampilkan nama subfolder sebagai baris dan tidak menghitung file di dalamnya.

ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Buktikan bahwa Anda manusia: 0   +   7   =