Belajar dengan membaca secara berurutan

Alat Pembentuk Teks — sort / uniq / cut / wc / tr / tee

Latih pengurutan sort -n, hitung duplikat dengan sort | uniq -c, ekstraksi kolom cut -d',' -f1, hitungan baris wc -l, translasi tr 'a-z' 'A-Z', dan output ganda tee, satu perintah demi satu dengan diagram dan terminal.

Mengurutkan Baris — sort

Dalam artikel ini kamu akan melatih enam perintah pembentuk teks, satu demi satu: sort / uniq / cut / wc / tr / tee. Yang pertama adalah sort. Perintah ini menyusun ulang baris input dalam urutan kamus (karakter per karakter). Gunakan sort -n untuk mengurutkan baris sebagai angka, dan sort -r untuk urutan menurun. Dalam urutan kamus, 10 muncul sebelum 2 (karakter pertama 1 dan 2 yang dibandingkan), jadi mengurutkan angka membutuhkan -n.

BentukArti
sortMengurutkan baris dalam urutan kamus
sort -nMengurutkan baris berdasarkan nilai angka
sort -rMembalik urutan (menurun)
sort adalah urutan kamus, sort -n urutan angka
dibandingkansebagai tekssort10 2 30nums.txt10 2 30dibandingkansebagai angkasort -n2 10 30
Urutan kamus membandingkan karakter pertama, jadi 10 muncul sebelum 2. Tambahkan -n untuk urutan angka.
printf 'cherry\napple\nbanana\n' > words.txt   # buat file materi 3 baris
sort words.txt                                   # apple banana cherry (urutan kamus)
sort -r words.txt                                # cherry banana apple (menurun)
printf '100\n9\n25\n' > scores.txt              # buat file materi angka
sort scores.txt                                  # 100 25 9 (urutan kamus menaruh 1 di depan)
sort -n scores.txt                               # 9 25 100 (urutan angka)

① Buat file materi tiga baris angka dengan printf '10\n2\n30\n' > nums.txt.

② Urutkan dengan sort nums.txt dan periksa bahwa dalam urutan kamus 10 muncul sebelum 2.

③ Tambahkan opsi urutan angka pada sort dan periksa urutannya menjadi 2 → 10 → 30.

④ Lalu tambahkan opsi pembalik dan periksa barisnya keluar dari yang terbesar. (Jika kamu menjalankannya dengan benar, penjelasan akan muncul.)

Linux console
0 / 4 selesai
Loading Linux Terminal...

Menggabungkan Duplikat — uniq

uniq menggabungkan baris identik yang posisinya bersebelahan menjadi satu. Ia tidak pernah melihat duplikat yang berjauhan, jadi biasanya kamu menjalankan sort dulu untuk mendekatkan baris yang sama, lalu mengalirkan hasilnya lewat pipe. Tambahkan uniq -c dan setiap baris diawali jumlah kemunculannya — hitungan per kategori secara instan.

BentukArti
uniqMenggabungkan baris identik yang bersebelahan jadi satu
sort file.txt | uniqUrutkan dulu agar duplikat yang berjauhan ikut tergabung
uniq -cMengawali setiap baris dengan jumlah kemunculannya
Urutkan dulu, lalu gabungkan dengan uniq
b a asorta b b (berdekatan)uniqabduplikat hilang
uniq hanya melihat duplikat yang bersebelahan, jadi jalankan sort dulu untuk mendekatkan baris yang sama.
printf 'banana\napple\nbanana\napple\n' > items.txt   # buat file materi 4 baris
sort items.txt                                          # apple apple banana banana
sort items.txt | uniq                                   # apple banana (duplikat dihapus)
sort items.txt | uniq -c                                # 2 apple / 2 banana (jumlah kemunculan)

① Buat file materi lima baris dengan duplikat menggunakan printf 'pear\nfig\npear\nfig\nfig\n' > fruit.txt.

② Urutkan dengan sort fruit.txt dan periksa bahwa baris yang identik menjadi bersebelahan.

③ Alirkan output sort lewat pipe ke uniq dan periksa duplikatnya tergabung jadi satu.

④ Dalam pipe yang sama, tambahkan opsi jumlah kemunculan pada uniq dan periksa setiap baris diawali hitungannya.

Linux console
0 / 4 selesai
Loading Linux Terminal...

Mengekstrak Kolom — cut

cut memecah setiap baris pada pemisah dan hanya menyimpan field yang kamu minta. Pemisah ditaruh setelah -d dan nomor field setelah -f, jadi cut -d',' -f1 mengambil kolom pertama dari CSV. Untuk beberapa field, daftarkan dengan koma seperti -f1,3. Inilah alat untuk mengambil hanya kolom yang kamu butuhkan dari CSV atau file konfigurasi yang dipisah titik dua.

BentukArti
cut -d',' -f1Mengekstrak field 1 dari baris yang dipisah koma
cut -d':' -f1Mengekstrak field 1 dari baris yang dipisah :
cut -d',' -f1,3Mengekstrak field 1 dan 3 sekaligus
cut memecah pada pemisah dan memilih field
cut -d',' -f1sato,30,tokyofield 1satofield 230field 3tokyo-f1: hanya satodipecah jadi 3 oleh koma
Baris dipecah menurut pemisah -d, dan hanya field bernomor di -f yang ditampilkan.
printf 'root:x:0\nuser:x:1000\n' > passwd.txt   # buat file materi dipisah titik dua
cut -d':' -f1 passwd.txt                          # hanya field 1 (nama)
cut -d':' -f1,3 passwd.txt                        # field 1 dan 3

① Buat file materi yang dipisah koma dengan printf 'sato,30,tokyo\nito,25,osaka\n' > people.csv.

② Gunakan cut dengan pemisah koma untuk mengekstrak hanya field 1 (nama).

③ Lalu ekstrak field 1 dan 3 sekaligus dan periksa cara menentukan beberapa field.

Linux console
0 / 3 selesai
Loading Linux Terminal...

Menghitung Baris, Kata, dan Byte — wc

wc menghitung baris, kata, dan byte dari inputnya. Tanpa opsi ia menampilkan ketiga angka; wc -l hanya menampilkan jumlah baris, wc -w hanya jumlah kata, dan wc -c hanya jumlah byte. Yang paling sering kamu pakai adalah wc -l — diberi input dari pipe, seperti ls | wc -l, ia menjawab pertanyaan seperti "ada berapa file?" atau "berapa baris yang cocok?"

BentukArti
wcMenampilkan jumlah baris, kata, dan byte sekaligus
wc -lHanya menampilkan jumlah baris
wc -wHanya menampilkan jumlah kata
wc -cHanya menampilkan jumlah byte
wc menghitung tiga angka
memo.txtgood morning / hellowc -lwc -wwc -c2 baris3 kata19 byte
Input sama — opsilah yang menentukan apa yang dihitung.
printf 'one two three\nfour\n' > draft.txt   # buat file materi 2 baris, 4 kata
wc draft.txt                                  # jumlah baris, kata, dan byte sekaligus
wc -l draft.txt                               # 2 (hanya jumlah baris)
ls | wc -l                                    # dari pipe: hitung jumlah file

① Buat file materi dua baris dengan printf 'good morning\nhello\n' > memo.txt.

② Jalankan wc memo.txt dan periksa muncul tiga angka: baris, kata, dan byte.

③ Tambahkan opsi yang hanya menampilkan jumlah baris dan periksa hasilnya 2.

④ Lalu tambahkan opsi yang hanya menampilkan jumlah kata dan periksa hasilnya 3.

Linux console
0 / 4 selesai
Loading Linux Terminal...

Mentranslasi Karakter — tr

tr mengganti karakter dari input standar karakter per karakter. tr 'a-z' 'A-Z' mengubah huruf kecil menjadi kapital. tr -s memampatkan deretan karakter yang sama menjadi satu (misalnya spasi berulang), dan tr -d menghapus karakter yang kamu tentukan. tr tidak menerima nama file sebagai argumen — ia membaca dari pipe atau pengalihan input.

BentukArti
tr 'a-z' 'A-Z'Mengubah huruf kecil menjadi kapital
tr -s ' 'Memampatkan karakter berulang menjadi satu
tr -d 'x'Menghapus karakter yang ditentukan
tr mentranslasi, memampatkan, dan menghapus
hellotr 'a-z' 'A-Z'HELLOa b(3 spasi)tr -s ' 'a b(1 spasi)a-b-ctr -d '-'abc
Dari atas ke bawah: translasi (kecil → kapital), pemampatan deretan (-s), dan penghapusan (-d).
echo 'hello linux' | tr 'a-z' 'A-Z'     # HELLO LINUX
echo 'a   b   c' | tr -s ' '            # mampatkan spasi berulang -> a b c
echo 'a-b-c' | tr -d '-'                # hapus - -> abc

① Alirkan output echo 'desktech learn' lewat pipe ke tr dan ubah huruf kecil menjadi kapital.

② Selanjutnya, alirkan output echo 'x y z' ke tr dan gunakan opsi yang memampatkan spasi berulang menjadi satu.

③ Alirkan output echo 'a-b-c' ke tr dan gunakan opsi penghapus untuk mendapatkan abc.

Linux console
0 / 3 selesai
Loading Linux Terminal...

Memisahkan Output ke Layar dan File — tee

tee mengambil apa yang diterimanya dari pipe, menampilkannya di layar, dan menulisnya ke file pada saat yang sama. Gunakan saat kamu ingin mencatat hasil antara sambil tetap meneruskan data ke perintah berikutnya. Dirangkai sebagai perintah | tee out.txt | perintah berikutnya, ia merekam ke out.txt sementara pipeline terus berjalan. Untuk menambahkan ke akhir file yang sudah ada alih-alih menimpanya, gunakan tee -a.

BentukArti
tee out.txtMenulis ke layar dan file sekaligus (menimpa)
tee -a out.txtMenampilkan di layar dan menambahkan ke akhir file
tee mengirim output ke layar dan file
echo hi| tee out.txt| perintah berikuthi di layarhi juga di out.txtpipeline berlanjutcat out.txthi masih ada
tee menampilkan apa yang diterimanya di layar, menulisnya ke file, dan kamu bisa memeriksanya nanti dengan cat.
ls | tee list.txt              # tampilkan daftar dan simpan ke list.txt
cat list.txt                   # di file juga ada
echo 'extra' | tee -a list.txt # -a menambahkan alih-alih menimpa

① Alirkan output echo 'one two' lewat pipe ke tee untuk menulisnya ke note.txt, dan periksa konten yang sama juga muncul di layar.

② Jalankan cat note.txt untuk memeriksa konten yang sama juga ada di file.

③ Selanjutnya, tambahkan output echo 'three' ke akhir note.txt dengan opsi penambah dari tee.

④ Jalankan cat note.txt lagi dan periksa file sudah bertambah menjadi dua baris.

Linux console
0 / 3 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Baris mana yang dianggap duplikat oleh uniq?

Soal 2Apa yang ditampilkan cut -d',' -f1 users.csv?

Soal 3Apa yang terjadi saat kamu menjalankan echo hi | tee out.txt?