Kekuatan Linux yang sebenarnya adalah banyaknya program/utilitas yang dibuat untuk memudahkan hidup kita. Saat Anda menulis banyak skrip shell di lingkungan Anda, rangkaian program ini berguna, di mana Anda akan menggunakan program ini untuk memanipulasi input atau output Anda di skrip Anda. Salah satu utilitas tersebut adalah tr, yang merupakan singkatan dari translate. Sesuai dengan namanya, perintah tr digunakan untuk menerjemahkan, memeras, dan menghapus karakter dari input standar, menulis ke output standar di Linux dan sistem operasi mirip Unix.
Dalam artikel ini, kita akan mempelajari penggunaan perintah tr dengan contoh praktis. Di akhir panduan ini, Anda akan merasa nyaman dalam menggunakan perintah tr dan Anda akan mengetahui skenario mana yang menggunakan perintah ini akan bermanfaat.
Contents
tr sintaks perintah dan bantuanContoh 1 – Terjemahkan dengan perintah trContoh 2 – Kumpulan karakter dan karakter khususContoh 3 – Konversi kasusContoh 4 – Hapus karakterContoh 5 – Squeeze repeatsContoh 6 – ComplementExample 7 – Redirect outputConclusiontr sintaks perintah dan bantuan
Untuk mengetahui sintaks dan daftar argumen yang didukung perintah tr, rujuk halaman manual atau gunakan –help flag dengan perintah tr.
$ man tr
$ tr --help
Perintah tr menerima dua argumen berupa SET1 dan SET2 dimana SET1 akan menjadi karakter input yang akan diterjemahkan oleh karakter di SET2. Ketika flag tertentu diteruskan ke perintah tr, SET2 mungkin digunakan secara opsional.
tr [OPTION]… SET1 [SET2]
Contoh 1 – Terjemahkan dengan perintah tr
Di bawah ini adalah contoh sederhana tentang cara menggunakan perintah tr. Perintah tr disalurkan dengan perintah echo dan huruf kecil “ost” diubah menjadi huruf besar “OST”.
Konversi di sini akan terjadi berdasarkan posisi karakter dalam dua set. Karakter pertama di SET1 akan diganti dengan karakter pertama di SET2 (o->O), demikian pula untuk semua karakter (s->S,t->T).
$ echo "ostechnix" | tr "ost" "OST"OSTechnix
Disarankan baca:
Bash Perintah Echo Dijelaskan Dengan Contoh Di LinuxContoh 2 – Kumpulan karakter dan karakter khusus
Perintah tr menawarkan penggunaan kumpulan karakter yang membuat konversi menjadi sangat mudah. Perintah tr juga dapat menginterpretasikan karakter khusus seperti (n,t,v) yang dapat diterjemahkan dengan karakter yang berbeda.
Mari kita lihat cara menggunakan set karakter. Dalam contoh di bawah ini, saya memiliki karakter string, Integer, dan tanda baca. karakter tanda baca diganti dengan titik (.) menggunakan set karakter “[:punct:]”.
$ echo "Ubuntu 20.04 #$%^" | tr "[:punct:]" "."
Contoh 3 – Konversi huruf besar-kecil
Ketika bekerja dengan string, Anda mungkin ingin mengubah huruf besar/kecil dari string dari bawah ke atas atau sebaliknya. Menggunakan perintah tr, Anda dapat melakukan konversi huruf besar-kecil dengan cara yang berbeda.
Pada cara pertama, Anda dapat mengetik a sampai z di kedua set 1 dan set 2.
$ echo "ostechnix" | tr "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ"OSTECHNIX
Harap diperhatikan bahwa ini bukan cara yang disukai.
Alih-alih mengetik semua karakter, Anda juga dapat menggunakan rentang (yaitu a-z, A-Z). tr “a-z” “A-Z” # Kecilkan ke Huruf BesarOSTECHNIX
$ echo "OSTECHNIX" | tr "A-Z" "a-z" # Huruf besar ke kecilostechnix
Kelas karakter juga dapat digunakan sebagai pengganti kedua metode di atas.
$ echo "OSTECHNIX" | tr "[:atas:]" "[:bawah:]"ostechnix
$ echo "ostechnix" | tr "[:lower:]" "[:upper:]"OSTECHNIX
Contoh 4 – Hapus karakter
Ada serangkaian argumen opsional yang didukung tr untuk melakukan berbagai tindakan.
Salah satu flag tersebut adalah “-d atau –delete” yang akan menghapus karakter yang diberikan di SET1.
Di bawah ini adalah input di mana saya memiliki tiga IP dengan spasi putih di setiap baris dan tab (2) di baris ketiga. Sekarang menggunakan flag -d Anda dapat membersihkan spasi putih.
192.168. 1. 12 192.168.1.1 1. 13 192.168.1.1 1. 14
Jalankan perintah di bawah ini yang akan menghapus semua spasi putih. Poin penting yang perlu diperhatikan di sini adalah tab tidak dihapus tetapi hanya spasi yang dihapus.
$ tr -d " " < tr_test.txt
Jika Anda ingin menghapus spasi dan tab (spasi putih horizontal), Anda dapat menggunakan “[:blank: ]” set karakter.
$ tr -d "[:blank:]" < tr_test.txt
Anda juga dapat menggunakan set karakter “[:spasi:]” untuk menghapus spasi putih horizontal dan vertikal.
$ tr -d "[:spasi :]" < tr_test.txt
Contoh 5 – Squeeze repeats
Ketika flag “-s atau –squeeze-repeats” digunakan, karakter berulang yang diberikan dalam SET1 akan diganti dengan kemunculan karakter tunggal. Pada contoh di bawah ini, Anda dapat melihat saya telah menggunakan 4 tanda sama dengan (=). Sekarang -s akan menggantikan 4 (=) dengan 1 (=).
$ echo "IP Produksi ==== 192.168.1.10" | tr -s "=" IP Produksi = 192.168.1.10
Di bawah ini adalah contoh lain di mana karakter baris baru (n) diperas.
$ cat tr_test.txt | tr -s "n"
Contoh 6 – Complement
Ketika flag -c digunakan, ia akan melakukan terjemahan terbalik untuk himpunan yang diberikan. Dalam contoh di bawah ini, tr akan menerjemahkan semua huruf menjadi “” secara normal. Tetapi ketika -c digunakan, operasi akan dibalik. Selain alfabet semua karakter lain akan diganti dengan ““.
$ echo "Nomor Karyawan 1267890" | tr -c "[:alpha:]" "*"
Anda dapat menggabungkan ini dengan flag lain untuk mendapatkan hasil tertentu. Misalnya ketika Anda menggabungkan dengan flag -d, itu akan melakukan operasi penghapusan terbalik.
$ echo "Nomor Karyawan adalah 1267890" | tr -cd "[:digit:]"
Catatan: Dari contoh di atas, Anda dapat melihat karakter baris baru juga diterjemahkan/dihapus. Saat menggunakan metode ini, perhatikan poin ini dan lanjutkan.
Contoh 7 – Redirect output
Di semua bagian sebelumnya, kita membaca input dari file dan melakukan beberapa pemrosesan dengan perintah tr dan output dikirim ke terminal. Jika Anda ingin mengarahkan output ke file alih-alih terminal, gunakan operator pengalihan.
$ tr -s "n"new_tr_test.txt $ cat new_tr_test.txt
Baca terkait:
Bash Redirection Dijelaskan Dengan ContohConclusionIn artikel ini, saya telah memandu Anda melalui cara menggunakan perintah tr. Di Linux, selalu ada banyak cara untuk mencapai hal yang sama. Apa pun yang telah kami tunjukkan dalam artikel ini juga dapat dicapai dengan program lain seperti sed, awk, dll. Tetapi mengetahui perintah-perintah ini dan berbagai cara akan membantu Anda memutuskan situasi yang tepat untuk menggunakan perintah/program yang tepat.