Kesenangan di Terminal Linux - Bermain dengan Jumlah Kata dan Karakter
Baris perintah Linux memiliki banyak kesenangan dan banyak tugas membosankan yang dapat dilakukan dengan sangat mudah namun dengan sempurna. Bermain-main dengan kata dan karakter, frekuensinya dalam file teks, dll adalah apa yang akan kita lihat di artikel ini.
Satu-satunya perintah yang terlintas di benak kita, untuk mengubah baris perintah Linux untuk memanipulasi kata dan karakter dari file teks adalah perintah wc.
Perintah 'wc' yang merupakan singkatan dari jumlah kata mampu Mencetak jumlah baris, kata & byte baru dari file teks.
Untuk bekerja dengan skrip kecil untuk menganalisis file teks, kita harus memiliki file teks. Untuk menjaga keseragaman, kami membuat file teks dengan output perintah man, seperti dijelaskan di bawah.
man man > man.txt
Perintah di atas membuat file teks 'man.txt' dengan konten 'halaman manual' untuk perintah 'man'.
Kami ingin memeriksa kata-kata yang paling umum, dalam 'File Teks' yang dibuat di atas dengan menjalankan skrip di bawah ini.
cat man.txt | tr ' ' '2' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn | head
Contoh Keluaran
7557
262 the
163 to
112 is
112 a
78 of
78 manual
76 and
64 if
63 be
Skrip sederhana satu baris di atas menunjukkan, sepuluh kata yang paling sering muncul dan frekuensi kemunculannya, dalam file teks.
Bagaimana kalau memecah sebuah kata menjadi satu per satu menggunakan perintah berikut.
echo 'tecmint team' | fold -w1
Contoh Keluaran
t
e
c
m
i
n
t
t
e
a
m
Catatan: Di sini, '-w1' adalah untuk lebar.
Sekarang kita akan memecah setiap kata dalam file teks, mengurutkan hasilnya dan mendapatkan keluaran yang diinginkan dengan frekuensi sepuluh karakter paling sering.
fold -w1 < man.txt | sort | uniq -c | sort -rn | head
Contoh Keluaran
8579
2413 e
1987 a
1875 t
1644 i
1553 n
1522 o
1514 s
1224 r
1021 l
Bagaimana dengan mendapatkan karakter paling sering dalam file teks dengan huruf besar dan huruf kecil berbeda seiring dengan frekuensi kemunculannya.
fold -w1 < man.txt | sort | tr '[:lower:]' '[:upper:]' | uniq -c | sort -rn | head -20
Contoh Keluaran
11636
2504 E
2079 A
2005 T
1729 I
1645 N
1632 S
1580 o
1269 R
1055 L
836 H
791 P
766 D
753 C
725 M
690 U
605 F
504 G
352 Y
344 .
Periksa output di atas, yang menyertakan tanda baca. Mari hilangkan tanda baca, dengan perintah 'tr'. Ini dia:
fold -w1 < man.txt | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20
Contoh Keluaran
11636
2504 E
2079 A
2005 T
1729 I
1645 N
1632 S
1580 O
1550
1269 R
1055 L
836 H
791 P
766 D
753 C
725 M
690 U
605 F
504 G
352 Y
Sekarang saya memiliki tiga file teks, mari jalankan skrip satu liner di atas untuk melihat hasilnya.
cat *.txt | fold -w1 | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -8
Contoh Keluaran
11636
2504 E
2079 A
2005 T
1729 I
1645 N
1632 S
1580 O
Selanjutnya kita akan membuat surat-surat jarang yang panjangnya setidaknya sepuluh huruf. Ini skrip sederhananya.
cat man.txt | tr '' '2' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | tr -d '[0-9]' | sort | uniq -c | sort -n | grep -E '..................' | head
Contoh Keluaran
1 ──────────────────────────────────────────
1 a all
1 abc any or all arguments within are optional
1 able see setlocale for precise details
1 ab options delimited by cannot be used together
1 achieved by using the less environment variable
1 a child process returned a nonzero exit status
1 act as if this option was supplied using the name as a filename
1 activate local mode format and display local manual files
1 acute accent
Catatan: Semakin banyak titik pada skrip di atas hingga semua hasil dihasilkan. Kita dapat menggunakan .{10} untuk mendapatkan sepuluh karakter yang cocok.
Skrip sederhana ini, juga membuat kita mengetahui kata dan karakter yang paling sering muncul dalam bahasa Inggris.
Itu saja untuk saat ini. Saya akan berada di sini lagi dengan topik menarik dan unik lainnya yang perlu diketahui, yang pasti ingin Anda baca. Jangan lupa untuk memberi kami umpan balik Anda yang berharga di bagian komentar di bawah.
Baca Juga : 20 Perintah Lucu Linux