GNU/Linux >> Belajar Linux >  >> Linux

Perintah TR Di Linux Dijelaskan Dengan Contoh

Kekuatan sebenarnya dari Linux adalah ada banyak 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 terjemahkan . 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.

Pada 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 yang akan bermanfaat.

sintaks perintah tr dan bantuan

Untuk mengetahui sintaks dan daftar argumen yang didukung perintah tr, lihat halaman manual atau gunakan --help tandai dengan tr perintah.

$ man tr
$ tr --help

tr perintah menerima dua argumen dalam bentuk SET1 dan SET2 di mana 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 tr memerintah. tr perintah disalurkan dengan echo perintah 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 ), sama untuk semua karakter (s->S ,t->T ).

$ echo "ostechnix" | tr "ost" "OST"
OSTechnix

Bacaan yang disarankan:

  • Perintah Bash Echo Dijelaskan Dengan Contoh Di Linux

Contoh 2 - Kumpulan karakter dan karakter khusus

tr command menawarkan penggunaan set karakter yang membuat konversi menjadi sangat mudah. tr perintah juga dapat menafsirkan 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 string, bilangan bulat, dan karakter tanda baca. karakter tanda baca diganti dengan titik (. ) menggunakan "[:punct:]" kumpulan karakter.

$ echo "Ubuntu 20.04 #$%^" | tr "[:punct:]" "."

Contoh 3 - Konversi kasus

Saat bekerja dengan string, Anda mungkin ingin mengubah kasus string dari bawah ke atas atau sebaliknya. Menggunakan tr perintah, Anda dapat melakukan konversi kasus dengan cara yang berbeda.

Cara pertama, Anda dapat mengetik a ke z di set 1 dan set 2.

$ echo "ostechnix" | tr "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
OSTECHNIX

Harap dicatat bahwa ini bukan cara yang disukai.

Alih-alih mengetik semua karakter, Anda juga dapat menggunakan rentang (mis. a-z , A-Z ).

$ echo "ostechnix" | tr "a-z" "A-Z" # Lower to Upper case
OSTECHNIX
$ echo "OSTECHNIX" | tr "A-Z" "a-z" # Upper to Lower case
ostechnix

Kelas karakter juga dapat digunakan sebagai pengganti dua metode di atas.

$ echo "OSTECHNIX" | tr "[:upper:]" "[:lower:]"
ostechnix
$ echo "ostechnix" | tr "[:lower:]" "[:upper:]"
OSTECHNIX

Contoh 4 - Hapus karakter

Ada satu set argumen opsional yang tr mendukung untuk melakukan berbagai tindakan.

Salah satu bendera tersebut adalah "-d atau --delete " yang akan menghapus karakter yang diberikan dalam 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 -d tandai Anda dapat membersihkan ruang putih.

  192.168. 1. 12   
  192.168. 1. 13  
        192.168. 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:]" kumpulan karakter.

$ tr -d "[:blank:]" < tr_test.txt

Anda juga dapat menggunakan "[:space:]" set karakter untuk menghapus spasi putih horizontal dan vertikal.

$ tr -d "[:space:]" < tr_test.txt

Contoh 5 - Tekan berulang

Ketika bendera "-s atau --squeeze-repeats " digunakan, karakter berulang yang diberikan dalam SET1 akan diganti dengan kemunculan karakter tunggal. Pada contoh di bawah, Anda dapat melihat saya telah menggunakan 4 sama dengan (= ) tanda. Sekarang -s akan menggantikan 4 (= ) dengan 1 (= ).

$ echo "Production IP ==== 192.168.1.10" | tr -s "="
Production IP = 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 - Pelengkap

Ketika -c flag digunakan, itu akan melakukan terjemahan terbalik untuk set yang diberikan. Dalam contoh di bawah ini tr akan menerjemahkan semua huruf menjadi "*" biasanya. Tetapi ketika -c digunakan, operasi akan dibalik. Selain alfabet, semua karakter lain akan diganti dengan "*" .

$ echo "Employee Number is 1267890" | tr -c "[:alpha:]" "*"

Anda dapat menggabungkan ini dengan bendera lain untuk mendapatkan hasil tertentu. Misalnya ketika Anda menggabungkan dengan -d bendera, itu akan melakukan operasi penghapusan terbalik.

$ echo "Employee Number is 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 tr perintah dan output dikirim ke terminal. Jika Anda ingin mengarahkan output ke file alih-alih terminal, gunakan operator pengalihan.

$ tr -s "\n" < tr_test.txt > new_tr_test.txt

$ cat new_tr_test.txt

Bacaan terkait:

  • Pengalihan Bash Dijelaskan Dengan Contoh

Kesimpulan

Dalam artikel ini, saya telah memandu Anda melalui cara menggunakan tr memerintah. Di Linux, selalu ada banyak cara untuk mencapai hal yang sama. Apa pun yang kami tunjukkan dalam artikel ini juga dapat dicapai dengan program lain seperti sed , awk , dll. Namun mengetahui perintah ini dan cara yang berbeda akan membantu Anda memutuskan situasi yang tepat untuk menggunakan perintah/program yang tepat.


Linux
  1. Perintah shutdown Linux Dijelaskan dengan Contoh

  2. Perintah nslookup Linux Dijelaskan Dengan Contoh

  3. Perintah Traceroute Linux, Dijelaskan dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah potong Linux Dijelaskan dengan 6 Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah ip Linux dengan Contoh

  2. Perintah Linux ldd Dijelaskan dengan Contoh

  3. 15 Perintah Linux ps dengan Contoh