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.
trTerdapat 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.txtdemo 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.txtdemo_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.txtdemo_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.txtdemo_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.txtpendua 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.txtpendua 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.txtpendua 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 --membantulelaki tr
maklumat tr
Nikmati!