Perintah Linux

Perintah Linux tr

Perintah Linux tr
Di Linux, "tr" adalah alat bawaan yang dapat "menerjemahkan, memerah, dan / atau menghapus watak dari input standard, menulis ke output standard" (dari halaman man).

Dari keterangan rasmi, mudah untuk memahami nilai alat ini. Linux hadir dengan koleksi besar alat bawaan. Terdapat beberapa yang istimewa yang sangat berguna untuk manipulasi teks. Kami telah merangkumi beberapa perkara seperti Vim, Nano, awk, sed dan alat lain.

Mereka yang bekerja dengan teks secara berkala, "tr" pasti akan sangat berguna. Artikel ini akan menggambarkan penggunaan “tr” yang paling umum dengan contoh yang mencukupi.

Catatan: Tutorial akan menggunakan banyak fail palsu dengan kandungan rawak. Semua rentetan rawak dihasilkan oleh Secara rawak.org.

Lokasi

tr mana

Ini adalah jalan lengkap alat perintah "tr".

Penggunaan asas

Untuk menggunakan alat "tr", anda harus menggunakan struktur perintah berikut.

tr [SET1] [SET2]

Terdapat pelbagai pilihan dan cara untuk memanipulasi teks menggunakan "tr". Pada mulanya, mari kita periksa fail demo ini.

demo kucing.txt

Semua watak dalam huruf kecil, betul? Mari ubah mereka menjadi huruf besar!

demo kucing.txt | tr [: bawah:] [: atas:]

Di sini, parameter pertama "tr" menunjukkan untuk melakukan terjemahan pada semua huruf kecil input. Bahagian kedua memberitahu untuk mengubahnya menjadi huruf besar pada output.

Sekarang, mari kita buat sebaliknya.

demo kucing1.txt

demo kucing1.txt | tr [: atas:] [: bawah:]

Terdapat juga cara lain untuk melaksanakan tugas yang sama ini. Mari kita periksa.

demo kucing.txt | tr [a-z] [A-Z]

Sekarang, daripada menyuruh "tr" menerjemahkan huruf besar ke huruf kecil atau huruf kecil ke huruf besar, kami diberitahu untuk mengenal pasti entri yang sesuai dengan julat "a" hingga "z" dan terjemahkan ke dalam setara mereka dari julat "A" hingga "Z".

Kaedah serupa ini juga dapat digunakan untuk menterjemahkan huruf besar ke huruf kecil.

demo kucing1.txt | tr [A-Z] [a-z]

Bermain dengan nombor

Kami melihat cara menterjemahkan huruf besar ke huruf kecil, betul? Sudah tiba masanya untuk bermain-main dengan angka.

Dengan menggunakan arahan berikut, kita dapat dengan mudah menterjemahkan semua digit (0-9) ke dalam aksara yang setara!

demo_digit kucing.txt

demo_digit kucing.txt | tr [0-9] [a-z]

Hebat! Bagaimana dengan huruf besar?

demo_digit kucing.txt | tr [0-9] [A-Z]

Ringkas, namun menarik, betul? Kita juga boleh mengubah watak menjadi digit juga!

demo_lowercase kucing.txt

demo_lowercase kucing.txt | tr [a-z] [0-9]

Aduh, nampaknya perkara-perkara rosak? Kita hanya boleh menggunakan 'a' hingga 'j' untuk mewakili satu digit. Sekiranya ada watak yang di luar batas ini, "tr" akan menggantikan watak dengan ']'.

Memadamkan aksara

Seperti yang dinyatakan oleh keterangan rasmi, "tr" dapat melakukan lebih daripada sekadar terjemahan watak. Dalam contoh berikut, kami akan memeriksa cara menggunakan "tr" untuk menghapus watak tertentu.

kucing secara rawak.txt

Sekarang, mari hapus semua nombor dari kandungan.

kucing secara rawak.txt | tr -d [0-9]

Di sini, bendera "-d" adalah untuk memberitahu "tr" untuk menghapus dan [0-9] menunjukkan digit untuk dihapus.

Kita juga boleh melakukannya dengan watak-watak. Perintah berikut akan menyimpan semua nombor tetapi membuang semua watak.

kucing secara rawak.txt | tr -d [a-z]

Bagaimana dengan membuang satu watak tertentu dari fail?

demo_lowercase kucing.txt

demo_lowercase kucing.txt | tr -d 'y'

Ia memadamkan semua entri 'y' dari fail.

Memerah watak berulang

Ada kalanya watak diulang secara berurutan. Sekiranya anda berhadapan dengan masalah yang menjengkelkan, biarkan "tr" mengurusnya! Dengan menggunakan arahan berikut, anda dapat menekan kejadian tersebut. Ini pada dasarnya menyimpan kejadian awal watak dan menghapus yang lain.

Pertama, masa untuk memeriksa bagaimana fail demo kelihatan.

pendua kucing.txt

Sekarang, sampaikan kandungan ke "tr".

pendua kucing.txt | tr -s [: digit:]

Di sini, parameter "-s" adalah petunjuk untuk melakukan tindakan "pemerasan".

Memecahkan / mencantumkan ayat

Mari lihat fail demo.

pendua kelawar.txt

Ini mengandungi ayat dengan ruang yang membahagi perkataan, betul? Mari bahagikan kata-kata itu menjadi baris baru.

pendua kucing.txt | tr "" "\ n"

Perintah ini menggantikan semua watak ruang dengan watak barisan baru.

Mari gabungkan ayat yang rosak menjadi ayat yang panjang lagi.

pendua kelawar.txt

pendua kucing.txt | tr "\ n" ""

Menterjemahkan watak

Sama seperti kita menerjemahkan watak sebelumnya, kali ini, kita akan melakukan perkara yang sama tetapi dengan satu watak sahaja.

demo kucing.txt

Dalam fail ini, mari kita ubah semua watak barisan baru menjadi titik koma.

demo kucing.txt | tr "\ n" ";"

Saya terpaksa membungkusnya dengan "echo". Jika tidak, ia akan menghasilkan beberapa output kerana watak barisan terakhir juga akan diterjemahkan menjadi titik koma.

Ada cara berbeza untuk mengubah watak. Walau bagaimanapun, ini lebih sukar dikawal.

pendua kucing1.txt

pendua kucing1.txt | tr -c 'd' 'z'

pendua kucing1.txt | tr -c 'd' 'z'

Wah! Mari kita selesaikan "echo" untuk lebih memahami outputnya.

echo $ (pendua kucing1.txt | tr -c 'd' 'z')

Apa yang berlaku di sini? Dengan menggunakan bendera "-c", "tr" hanya akan mengekalkan karakter sasaran tidak berubah. Sekiranya tidak sesuai, setiap watak lain akan berubah. Di sini, watak lain selain 'b' digantikan dengan 'z'.

Menterjemahkan rentetan

"Tr" juga boleh berfungsi dengan rentetan. Mari lakukan penggantian rentetan.

pendua kucing1.txt

pendua kucing1.txt | tr "pendua" "bukan_duplikat"

Rentetan saya untuk diganti lebih pendek daripada tali yang akan diganti, jadi tidak sesuai.

Kumpulan watak

Sekarang, anda telah memperhatikan bahawa terdapat sejumlah set watak yang disokong oleh "tr". Walaupun sebilangannya digunakan dalam contoh di atas, kumpulan watak lain juga sangat membantu. Berikut adalah senarai semua senarai watak yang disokong.

Set aksara POSIX

  • [: digit:]: Digit 0-9
  • [: alpha:]: Huruf a-z dan A-Z.
  • [: alnum:]: Aksara alpha-numeric
  • [: punct:]: Simbol tanda baca
  • [: space:]: Mana-mana watak ruang kosong, misalnya, ruang, tab, FF, CR, NL, FF, dll.
  • [: atas:]: Semua huruf besar
  • [: bawah:]: Semua huruf kecil
  • [: cntrl:]: Semua watak kawalan (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL etc.)

Set watak tambahan

  • [A-Z]: Semua huruf besar
  • [a-z]: Semua huruf kecil
  • [0-9]: Semua digit

Pemikiran terakhir

Terdapat banyak cara semua ciri "tr" ini dapat memberi manfaat kepada pengguna. Saya selalu mengesyorkan untuk melihat semua pilihan yang ada dan panduan mendalam mengenai mana-mana alat Linux dari halaman mereka, maklumat dan bantuan kerana mereka dapat menawarkan pengetahuan yang lebih berharga.

tr --membantu

lelaki tr

maklumat tr

Nikmati!

Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...