Dari deskripsi resmi, mudah untuk memahami nilai alat ini. Linux hadir dengan banyak koleksi alat bawaan. Ada beberapa yang khusus yang sangat berguna untuk manipulasi teks. Kami telah membahas beberapa di antaranya, seperti Vim, Nano, awk, sed, dan alat lainnya.
Mereka yang bekerja dengan teks secara teratur, "tr" pasti akan sangat, sangat berguna. Artikel ini akan mengilustrasikan penggunaan "tr" yang paling umum dengan contoh yang cukup.
Catatan: Tutorial ini akan menggunakan banyak file dummy dengan konten acak. Semua string acak dihasilkan oleh Acak.organisasi.
Lokasi
yang mana
Ini adalah jalur lengkap dari alat perintah "tr".
Penggunaan dasar
Untuk menggunakan alat "tr", Anda harus menggunakan struktur perintah berikut:.
trAda berbagai opsi dan cara untuk memanipulasi teks menggunakan "tr". Pertama, mari kita lihat file demo ini.
demo kucing.txt
Semua karakter dalam huruf kecil, kan? Mari kita ubah menjadi huruf besar!
demo kucing.txt | tr [:bawah:] [:atas:]
Di sini, parameter pertama "tr" menunjukkan untuk melakukan terjemahan pada semua karakter huruf kecil dari input. Bagian kedua mengatakan untuk mengubahnya menjadi huruf besar pada output.
Sekarang, mari kita lakukan yang sebaliknya.
demo kucing1.txtdemo kucing1.txt | tr [:atas:] [:bawah:]
Ada juga cara lain untuk melakukan tugas yang sama ini. Mari kita periksa.
demo kucing.txt | tr [a-z] [A-Z]
Sekarang, alih-alih memberi tahu "tr" untuk menerjemahkan huruf besar ke huruf kecil atau huruf kecil ke huruf besar, kami diminta untuk mengidentifikasi entri yang cocok dengan rentang "a" hingga "z" dan menerjemahkannya ke padanannya dari rentang "A" hingga "Z".
Metode serupa ini juga dapat digunakan untuk menerjemahkan huruf besar ke huruf kecil.
demo kucing1.txt | tr [A-Z] [a-z]
Bermain dengan angka
Kami melihat bagaimana menerjemahkan huruf besar ke huruf kecil, kan? Saatnya bermain-main dengan angka.
Dengan menggunakan perintah berikut, kita dapat dengan mudah menerjemahkan semua digit (0-9) ke dalam karakter yang setara!
demo_digit kucing.txtdemo_digit kucing.txt | tr [0-9] [a-z]
Luar biasa! Bagaimana dengan yang huruf besar??
demo_digit kucing.txt | tr [0-9] [A-Z]
Sederhana, namun menarik, kan? Kami juga dapat mengubah karakter menjadi angka juga!
kucing demo_huruf kecil.txtkucing demo_huruf kecil.txt | tr [a-z] [0-9]
Uh oh, sepertinya semuanya rusak, kan? Nah, kita hanya bisa menggunakan 'a' untuk 'j' untuk mewakili satu digit. Jika ada karakter yang berada di luar batas ini, “tr” akan menggantikan karakter tersebut dengan ']'.
Menghapus karakter
Seperti yang disarankan oleh deskripsi resmi, "tr" dapat melakukan lebih dari sekadar terjemahan karakter. Dalam contoh berikut, kita akan melihat cara menggunakan "tr" untuk menghapus karakter tertentu.
kucing acak.txt
Sekarang, mari kita hapus semua angka dari konten.
kucing acak.txt | tr -d [0-9]
Di sini, bendera "-d" adalah untuk memberi tahu "tr" untuk menghapus dan [0-9] menunjukkan angka yang akan dihapus.
Kita juga bisa melakukannya dengan karakter. Perintah berikut akan menyimpan semua angka tetapi menghapus semua karakter.
kucing acak.txt | tr -d [a-z]
Bagaimana dengan menghapus hanya satu karakter tertentu dari file??
kucing demo_huruf kecil.txtkucing demo_huruf kecil.txt | tr -d 'y'
Itu menghapus semua entri 'y' dari file.
Meremas karakter berulang
Ada kalanya karakter diulang secara berurutan. Jika Anda berurusan dengan masalah yang mengganggu seperti itu, biarkan "tr" yang menanganinya! Menggunakan perintah berikut, Anda dapat menekan kejadian seperti itu. Ini pada dasarnya menjaga kemunculan awal karakter dan menghapus yang tambahan.
Pertama, waktu untuk memeriksa bagaimana file demo terlihat.
duplikat kucing.txt
Sekarang, berikan konten ke "tr".
duplikat kucing.txt | tr -s [:digit:]
Di sini, parameter “-s” adalah indikator untuk melakukan tindakan “squeeze”.
Memutuskan/menggabungkan kalimat
Mari kita periksa file demo.
duplikat kelelawar.txt
Ini berisi kalimat dengan spasi yang membagi kata-kata, kan? Mari kita pisahkan kata-kata menjadi baris baru.
duplikat kucing.txt | tr " " "\n"
Perintah ini menggantikan semua karakter spasi dengan karakter baris baru.
Mari kita gabungkan kalimat yang terputus menjadi kalimat yang panjang lagi.
duplikat kelelawar.txtduplikat kucing.txt | tr "\n" " "
Menerjemahkan karakter
Sama seperti kami menerjemahkan karakter sebelumnya, kali ini, kami akan melakukan hal yang sama tetapi hanya dengan satu karakter.
demo kucing.txt
Dalam file ini, mari ubah semua karakter baris baru menjadi titik koma.
demo kucing.txt | tr "\n" ";"
Saya harus membungkusnya dengan "gema". Jika tidak, itu akan membuat beberapa output karena karakter baris baru terakhir juga akan diterjemahkan menjadi titik koma.
Ada cara berbeda untuk mengubah karakter. Namun, yang ini lebih sulit dikendalikan.
duplikat kucing1.txtduplikat kucing1.txt | tr -c 'd' 'z'
duplikat kucing1.txt | tr -c 'd' 'z'
Wow! Mari kita bungkus di sekitar "gema" untuk lebih memahami output.
echo $(duplikat kucing1.txt | tr -c 'd' 'z')
Apa yang terjadi disini? Menggunakan flag “-c”, “tr” hanya akan membuat karakter target tidak berubah. Dalam kasus ketidakcocokan, setiap karakter lain akan diubah. Di sini, karakter apa pun selain 'b' diganti dengan 'z'.
Menerjemahkan string
"tr" juga dapat bekerja dengan string. Mari kita lakukan penggantian string.
duplikat kucing1.txtduplikat kucing1.txt | tr "duplikat" "bukan_duplikat"
Tali yang saya ganti lebih pendek dari tali yang akan diganti, jadi tidak pas.
Set karakter
Sekarang, Anda telah memperhatikan bahwa ada sejumlah set karakter yang didukung oleh "tr". Sementara beberapa dari mereka digunakan dalam contoh di atas, set karakter lain juga cukup membantu. Berikut daftar semua daftar karakter yang didukung.
Kumpulan karakter POSIX
- [:digit:] : Digit 0-9
- [:alpha:] : Abjad a-z dan A-Z.
- [:alnum:] : Karakter alfanumerik
- [:punct:] : Simbol tanda baca
- [:spasi:] : Karakter spasi apa pun, misalnya spasi, tab, FF, CR, NL, FF, dll.
- [:upper:] : Semua huruf besar
- [:lower:] : Semua huruf kecil
- [:cntrl:] : Semua karakter kontrol (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL dll.)
Set karakter tambahan
- [A-Z] : Semua huruf besar
- [a-z] : Semua huruf kecil
- [0-9] : Semua angka
Pikiran terakhir
Ada banyak cara agar semua fitur "tr" ini dapat bermanfaat bagi pengguna. Saya selalu merekomendasikan untuk memeriksa semua opsi yang tersedia dan panduan mendalam tentang alat Linux apa pun dari halaman manual, info, dan bantuan mereka karena mereka dapat menawarkan pengetahuan yang lebih berharga.
tr --membantupria tr
info tr
Nikmati!