Pendahuluan
tr
command adalah utilitas baris perintah Linux yang menerjemahkan atau menghapus karakter dari input standar (stdin
) dan menulis hasilnya ke output standar (stdout
). Gunakan tr
untuk melakukan transformasi teks yang berbeda, termasuk konversi huruf besar-kecil, pemerasan atau penghapusan karakter, dan penggantian teks dasar.
Sejak tr
tidak dapat membaca file secara langsung dan menampilkan hasilnya dalam output standar, sering digunakan dengan pipa (|
) dan pengalihan (>>
) untuk memungkinkan pemrosesan konten file yang lebih kompleks.
Dalam tutorial ini, Anda akan belajar menggunakan Linux tr
perintah.
Prasyarat
- Sistem yang menjalankan Linux.
- Akses ke terminal (Ctrl + Alt + B ).
Sintaks Perintah Linux tr
Dasar tr
sintaks perintahnya adalah:
tr [options] SET1 [SET2]
Opsi
Menjalankan tr
tanpa opsi apa pun menggantikan setiap karakter yang ditentukan dalam SET1
dengan karakter dari SET2
yang memiliki posisi yang sama.
Misalnya:
Pada contoh di atas, output perintah echo disalurkan ke tr
perintah, menggantikan setiap contoh e dengan o .
SET
SET
s adalah string karakter. Perintah menerima urutan interpretasi berikut untuk pencocokan karakter:
Urutan | Interpretasi |
---|---|
\NNN | Karakter dengan NNN nilai oktal (1 hingga 3 digit oktal). |
\\ | Garis miring terbalik. |
\a | Karakter lonceng yang dapat didengar. |
\b | Spasi mundur. |
\f | Umpan formulir. |
\n | Karakter baris baru. |
\r | Kembalikan karakter. |
\t | Tab horizontal. |
\v | Tab vertikal. |
CHAR1-CHAR2 | Semua karakter dari CHAR1 ke CHAR2 dalam urutan menaik. |
[CHAR*] | Salinan CHAR* di SET2 hingga panjang SET1 . |
[CHAR*REPEAT] | Mengulangi salinan CHAR . Mengulangi oktal jika dimulai dengan 0. |
[:alnum:] | Semua huruf dan angka. |
[:alpha:] | Semua huruf. |
[:blank:] | Spasi putih horizontal. |
[:cntrl:] | Semua karakter kontrol. |
[:digit:] | Semua angka. |
[:graph:] | Karakter yang dapat dicetak, tidak termasuk spasi. |
[:lower:] | Semua karakter huruf kecil. |
[:print:] | Karakter yang dapat dicetak, termasuk spasi. |
[:punct:] | Semua karakter tanda baca. |
[:space:] | Karakter spasi putih horizontal atau vertikal. |
[:upper:] | Semua huruf besar. |
[:xdigit:] | Digit heksadesimal. |
[=CHAR=] | Semua karakter setara dengan CHAR . |
Catatan: Editor aliran teks Unix hebat lainnya adalah SED. Alat ini memungkinkan Anda untuk mencari, mengganti, menambah, dan menghapus baris dalam file teks tanpa membukanya di editor teks.
Opsi Perintah Linux tr
Opsi menyediakan tindakan transformasi karakter tambahan. Opsi yang tersedia adalah:
Opsi | Deskripsi |
---|---|
-C | Melengkapi karakter di SET1 , termasuk setiap karakter dalam output kecuali yang ditentukan. |
-c | Melengkapi nilai dalam SET1 . Operasi berlaku untuk karakter yang tidak ada di set yang diberikan. |
-d | Menghapus karakter dari SET1 masukan. |
-s | Menekan karakter berulang yang ditentukan dalam operan terakhir (baik SET1 atau SET2 ) dan menggantinya dengan kemunculan karakter tersebut. |
-t | Memotong SET1 dengan panjang SET2 . |
-u | Memastikan bahwa setiap output tidak memiliki buffer. |
--help | Menampilkan file bantuan dengan semua opsi yang tersedia. |
--version | Menampilkan informasi versi program. |
Contoh Linux tr
Di bawah ini adalah contoh penggunaan tr
perintah dengan opsi berbeda untuk mengubah teks input.
Ubah Huruf Besar Karakter
Ada tiga cara mengubah huruf besar-kecil dengan tr
:
1. Tentukan Karakter Tepat yang Ingin Anda Konversi
Tentukan karakter mana dari input yang ingin Anda konversi. Opsi ini mengubah huruf besar-kecil atau seluruh karakter, menggantikan yang dari SET1
dengan yang dari SET2
.
Misalnya:
2. Tentukan Rentang Karakter untuk Konversi
Menentukan rentang memungkinkan tr
untuk mengubah kasus karakter apa pun dalam rentang yang ditentukan. Contoh berikut menunjukkan cara mengubah karakter huruf besar menjadi huruf kecil:
Tekan CTRL+C untuk keluar dari mode masukan.
3. Tentukan Urutan yang Diinterpretasikan
Mencocokkan dan mengonversi karakter dengan menentukan urutan yang ditafsirkan. Misalnya, urutan karakter huruf kecil adalah [:lower:]
, dan urutan karakter huruf besar adalah [:upper:]
. Menentukan dua urutan menginstruksikan tr
untuk mencocokkan dan mengonversi huruf besar-kecil:
Contoh di atas menunjukkan bagaimana tr
mengonversi karakter huruf besar menjadi huruf kecil.
Hapus Karakter Berulang
-s
pilihan meremas karakter berulang menjadi satu contoh karakter itu. Opsi ini sangat berguna saat mengonversi spasi putih menjadi tab atau karakter baris baru, dan teks input berisi beberapa karakter spasi putih berkelanjutan.
Misalnya, input berikut berisi beberapa karakter spasi putih. Mengonversinya menjadi tab tanpa memencet memberikan hasil berikut:
Untuk menghindari banyak tab dan spasi putih dalam output, tentukan -s
pilihan:
Hapus Karakter
Hapus karakter tertentu menggunakan -d
pilihan. Dalam contoh berikut, tr
menghapus setiap contoh e karakter:
Secara opsional, tentukan sekelompok karakter menggunakan urutan yang ditafsirkan. Misalnya, hapus semua digit dengan menentukan [:digit:]
urutan:
Set Pelengkap
Gunakan -c
opsi untuk melengkapi karakter di SET1
. Dalam contoh berikut, kami menghapus semua karakter kecuali angka:
Semua karakter yang tidak ada dalam set yang ditentukan (dalam hal ini, semuanya kecuali angka) dihapus.
Hapus Karakter Baris Baru
Kecilkan ruang yang ditempati teks dengan mengubah karakter baris baru menjadi spasi. Konten kemudian muncul dalam satu baris.
Pada contoh berikut, kita menggunakan perintah cat untuk membuka file teks dan menyalurkannya ke tr
untuk menghapus karakter baris baru:
Redirect Ke tr
Alternatif untuk pemipaan adalah menggunakan pengalihan untuk memasukkan konten ke tr
. Selain itu, Anda dapat menggunakan pengalihan untuk menyimpan tr
keluaran dalam sebuah file.
Contoh berikut menunjukkan cara menghapus semua karakter yang tidak dapat dicetak dari file yang isinya dialihkan ke tr
:
Memotong Set
Secara default, jika SET1
lebih panjang dari SET2
, tr
menggunakan kembali karakter terakhir dari SET2
saat memproses masukan. Misalnya:
Sejak SET1
lebih panjang dari SET2
, tr
menggunakan kembali karakter terakhir dari SET2
, dalam hal ini, 2 .
Gunakan -t
opsi untuk memotong SET1
dengan panjang SET2
:
-t
opsi menginstruksikan tr
untuk memotong SET1
dengan panjang SET2
dan hanya menggantikan dua karakter pertama.
Hapus Diakritik
Gunakan [=CHAR=]
urutan untuk mencocokkan semua karakter yang setara dengan yang ditentukan. Misalnya, urutan dapat mengidentifikasi dan menghapus diakritik dari karakter.
Cetak Setiap Kata Secara Terpisah
Cetak konten file baris demi baris menggunakan -c
opsi dan ganti karakter non-alfanumerik dengan karakter baris baru.
Catatan: Jika Anda lebih suka menggunakan Bash, lihat cara membaca file baris demi baris.
Outputnya sekarang ditampilkan satu kata pada satu waktu.
Simpan Output ke File
Sejak tr
tidak mengubah konten file secara langsung, juga tidak menyimpan perubahan apa pun yang Anda buat. Simpan output ke file dengan mengarahkannya seperti yang ditunjukkan pada contoh berikut:
Membuka file baru dengan cat
menunjukkan bahwa perubahan telah disimpan.
Kesimpulan
Tutorial ini menunjukkan cara menggunakan tr
perintah dan opsi yang tersedia untuk berbagai transformasi teks. Lihat utilitas teks Linux lainnya di panduan kami untuk perintah sortir dan pager terminal yang lebih sedikit, atau lihat editor teks Linux terbaik.