Ini ialah arahan trposix yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
tr — menterjemah aksara
SINOPSIS
tr [−c|−C] [−s] string1 string2
tr −s [−c|−C] string1
tr −d [−c|−C] string1
tr −ds [−c|−C] string1 string2
DESCRIPTION
. tr utiliti hendaklah menyalin input standard kepada output standard dengan penggantian atau
pemadaman aksara yang dipilih. Pilihan yang dinyatakan dan string1 and string2
operan hendaklah mengawal terjemahan yang berlaku semasa menyalin aksara dan satu-
elemen penyusunan watak.
PILIHAN
. tr utiliti hendaklah mematuhi volum Definisi Asas POSIX.1‐2008, seksyen 12.2,
utiliti Syntax Garis panduan.
Pilihan berikut hendaklah disokong:
−c Melengkapkan set nilai yang ditentukan oleh string1. Lihat PENERANGAN LANJUTAN
bawah seksyen ini.
−C Melengkapkan set aksara yang ditentukan oleh string1. Lihat EXTENDED
bahagian PENERANGAN.
−d Padamkan semua kejadian aksara input yang ditentukan oleh string1.
−s Gantikan contoh aksara berulang dengan aksara tunggal, seperti yang diterangkan
dalam bahagian PENERANGAN LANJUTAN.
OPERAND
Operan berikut hendaklah disokong:
string1, string2
Rentetan kawalan terjemahan. Setiap rentetan hendaklah mewakili satu set aksara kepada
ditukarkan kepada susunan aksara yang digunakan untuk terjemahan. Untuk
penerangan terperinci tentang cara rentetan ditafsirkan, lihat EXTENDED
bahagian PENERANGAN.
STDIN
Input standard boleh berupa sebarang jenis fail.
INPUT FILES
Tiada.
PERSEKITARAN PELBAGAI
Pembolehubah persekitaran berikut akan mempengaruhi pelaksanaan tr:
BAHASA Sediakan nilai lalai untuk pembolehubah pengantarabangsaan yang tidak ditetapkan atau
null. (Lihat volum Takrif Asas POSIX.1‐2008, seksyen 8.2,
Pengantarabangsaan Pembolehubah untuk keutamaan pengantarabangsaan
pembolehubah yang digunakan untuk menentukan nilai kategori tempat.)
LC_ALL Jika ditetapkan kepada nilai rentetan bukan kosong, ganti nilai semua yang lain
pembolehubah pengantarabangsaan.
LC_COLLATE
Tentukan tempat untuk kelakuan ungkapan julat dan kesetaraan
kelas.
LC_CTYPE Tentukan tempat untuk tafsiran jujukan bait data teks
sebagai aksara (contohnya, bait tunggal berbanding dengan aksara berbilang bait dalam
hujah) dan tingkah laku kelas watak.
LC_MESSAGES
Tentukan tempat yang harus digunakan untuk mempengaruhi format dan kandungan
mesej diagnostik yang ditulis kepada ralat standard.
NLSPATH Tentukan lokasi katalog mesej untuk pemprosesan LC_MESSAGES.
ASYNCRONOUS ACARA
Lalai.
STDOUT
. tr output hendaklah sama dengan input, kecuali yang dinyatakan
transformasi.
STDERR
Ralat standard hendaklah digunakan hanya untuk mesej diagnostik.
OUTPUT FILES
Tiada.
EXTENDED DESCRIPTION
operan string1 and string2 (jika dinyatakan) tentukan dua tatasusunan aksara. The
binaan dalam senarai berikut boleh digunakan untuk menentukan aksara atau aksara tunggal
menyusun elemen. Jika mana-mana binaan menghasilkan elemen penyusunan berbilang aksara,
tr hendaklah mengecualikan, tanpa diagnostik, elemen berbilang aksara tersebut daripada terhasil
susunan.
watak Mana-mana watak yang tidak diterangkan oleh salah satu konvensyen di bawah hendaklah mewakili
sendiri.
\oktal Urutan oktal boleh digunakan untuk mewakili aksara dengan nilai berkod tertentu.
Urutan perlapanan hendaklah terdiri daripada diikuti dengan yang terpanjang
jujukan aksara satu, dua atau tiga digit oktal (01234567). Urutannya
akan menyebabkan nilai yang pengekodannya diwakili oleh satu, dua, atau tiga-
digit integer oktal untuk diletakkan ke dalam tatasusunan. Aksara berbilang bait memerlukan
berbilang, urutan pelarian bercantum jenis ini, termasuk yang terkemuka
untuk setiap bait.
\watak
Urutan -escape dalam volum Definisi Asas POSIX.1‐2008,
Jadual 5-1, Melarikan diri Urutan and Bersekutu Tindakan ('\\', '\a', '\b', '\f',
'\ n', '\r', '\t', '\v') hendaklah disokong. Hasil menggunakan mana-mana yang lain
aksara, selain daripada digit perlapanan, mengikut tidak ditentukan.
Juga, jika tiada watak mengikuti , hasilnya adalah
tidak dinyatakan.
c-c Dalam tempat POSIX, binaan ini hendaklah mewakili julat penyusunan
elemen antara titik akhir julat (asalkan kedua-dua titik akhir bukan oktal
urutan bentuk \oktal), inklusif, seperti yang ditakrifkan oleh urutan pengumpulan.
Aksara atau unsur penyusun dalam julat hendaklah diletakkan dalam tatasusunan
dalam urutan penyusunan menaik. Jika titik akhir kedua mendahului permulaan
titik akhir dalam urutan penyusunan, ia tidak ditentukan sama ada julat bagi
menyusun elemen kosong, atau binaan ini dianggap sebagai tidak sah. Dalam kawasan tempatan
selain daripada tempat POSIX, binaan ini mempunyai tingkah laku yang tidak ditentukan.
Jika salah satu atau kedua-dua titik akhir julat ialah jujukan oktal dalam bentuk \oktal,
ini hendaklah mewakili julat nilai berkod khusus antara dua julat
titik akhir, inklusif.
[:kelas:] Mewakili semua aksara yang tergolong dalam kelas aksara yang ditentukan, seperti yang ditakrifkan
dengan tetapan semasa LC_CTYPE kategori setempat. Watak berikut
nama kelas hendaklah diterima apabila dinyatakan dalam string1:
alnum kosong digit yang lebih rendah titik atas
alfa cntrl graf cetak ruang xdigit
Di samping itu, ungkapan kelas watak dalam bentuk [:nama:] sepatut nya
diiktiraf di tempat-tempat di mana nama kata kunci telah diberikan a charclass
definisi dalam LC_CTYPE kategori.
Apabila kedua-duanya −d and −s pilihan ditentukan, mana-mana nama kelas aksara
hendaklah diterima masuk string2. Jika tidak, hanya nama kelas aksara yang lebih rendah or
atas adalah sah dalam string2 dan kemudian hanya jika kelas aksara yang sepadan
(atas and yang lebih rendah, masing-masing) dinyatakan dalam kedudukan relatif yang sama dalam
string1. Spesifikasi sedemikian hendaklah ditafsirkan sebagai permintaan untuk kes
penukaran. Bila [:yang lebih rendah:] muncul dalam string1 dan [:atas:] muncul dalam string2,
tatasusunan hendaklah mengandungi aksara daripada topper pemetaan dalam LC_CTYPE
kategori tempat semasa. Bila [:atas:] muncul dalam string1 dan [:yang lebih rendah:]
muncul di string2, tatasusunan hendaklah mengandungi aksara daripada untuk rendahkan
pemetaan dalam LC_CTYPE kategori tempat semasa. Watak pertama dari
setiap pasangan pemetaan hendaklah dalam tatasusunan untuk string1 dan watak kedua
daripada setiap pasangan pemetaan hendaklah dalam tatasusunan untuk string2 dalam saudara yang sama
kedudukan.
Kecuali untuk penukaran kes, aksara yang ditentukan oleh kelas aksara
ungkapan hendaklah diletakkan dalam tatasusunan dalam susunan yang tidak ditentukan.
Jika nama dinyatakan untuk kelas tidak mentakrifkan kelas aksara yang sah dalam
tempat semasa, tingkah laku tidak ditentukan.
[=equiv=] Mewakili semua aksara atau menyusun elemen kepunyaan yang sama
kelas kesetaraan sebagai equiv, seperti yang ditakrifkan oleh tetapan semasa bagi LC_COLLATE
kategori setempat. Ungkapan kelas kesetaraan hanya dibenarkan masuk
string1, Atau dalam string2 apabila ia digunakan oleh gabungan −d and −s pilihan.
Aksara kepunyaan kelas kesetaraan hendaklah diletakkan dalam tatasusunan
dalam susunan yang tidak ditentukan.
[x*n] Mewakili n kejadian berulang watak x. Kerana ungkapan ini
digunakan untuk memetakan berbilang aksara kepada satu, ia hanya sah apabila ia berlaku dalam
string2. Jika n ditinggalkan atau sifar, ia hendaklah ditafsirkan sebagai cukup besar untuk
memanjangkan string2-berdasarkan urutan kepada panjang string1-urutan berdasarkan.
If n mempunyai sifar pendahuluan, ia hendaklah ditafsirkan sebagai nilai perlapanan. Jika tidak,
ia hendaklah ditafsirkan sebagai nilai perpuluhan.
Apabila −d pilihan tidak dinyatakan:
* Sekiranya string2 hadir, setiap aksara input ditemui dalam tatasusunan yang ditentukan oleh string1
hendaklah digantikan dengan aksara dalam kedudukan relatif yang sama dalam tatasusunan
ditentukan oleh string2. Jika tatasusunan ditentukan oleh string2 adalah lebih pendek daripada yang satu
ditentukan oleh string1, atau jika watak berlaku lebih daripada sekali dalam string1, keputusan
adalah tidak ditentukan.
* Sekiranya −C pilihan ditentukan, pelengkap aksara yang ditentukan oleh string1
(set semua aksara dalam set aksara semasa, seperti yang ditakrifkan oleh arus
tetapan daripada LC_CTYPE, kecuali yang sebenarnya dinyatakan dalam string1 operan) hendaklah
diletakkan dalam tatasusunan dalam urutan penyusunan menaik, seperti yang ditakrifkan oleh arus
tetapan daripada LC_COLLATE.
* Sekiranya −c pilihan ditentukan, pelengkap nilai yang ditentukan oleh string1 hendaklah
diletakkan dalam tatasusunan dalam susunan menaik mengikut nilai binari.
* Kerana susunan aksara yang ditentukan oleh ungkapan kelas aksara atau
ungkapan kelas kesetaraan tidak ditentukan, ungkapan tersebut hanya boleh digunakan jika
tujuannya adalah untuk memetakan beberapa aksara menjadi satu. Pengecualian ialah penukaran kes, sebagai
diterangkan sebelum ini.
Apabila −d pilihan ditentukan:
* Input aksara ditemui dalam tatasusunan yang ditentukan oleh string1 hendaklah dipadamkan.
* Apabila −C pilihan ditentukan dengan −d, semua aksara kecuali yang ditentukan oleh
string1 hendaklah dipadamkan. Kandungan string2 diabaikan, melainkan jika −s pilihan adalah
juga dinyatakan.
* Apabila −c pilihan ditentukan dengan −d, semua nilai kecuali yang ditentukan oleh string1
hendaklah dipadamkan. Kandungan string2 hendaklah diabaikan, melainkan jika −s pilihan adalah
juga dinyatakan.
* Rentetan yang sama tidak boleh digunakan untuk kedua-dua −d dan juga −s pilihan; apabila kedua-dua pilihan
dinyatakan, kedua-duanya string1 (digunakan untuk pemadaman) dan string2 (digunakan untuk memerah) hendaklah
diperlukan.
Apabila −s pilihan ditentukan, selepas sebarang pemadaman atau terjemahan telah berlaku,
urutan berulang dengan aksara yang sama hendaklah digantikan dengan satu kejadian yang sama
aksara, jika aksara ditemui dalam tatasusunan yang ditentukan oleh operan terakhir. Sekiranya
operan terakhir mengandungi kelas aksara, seperti contoh berikut:
tr −s '[:ruang:]'
tatasusunan operan terakhir hendaklah mengandungi semua aksara dalam kelas aksara itu.
Walau bagaimanapun, dalam penukaran kes, seperti yang diterangkan sebelum ini, seperti:
tr −s '[:atas:]' '[:lower:]'
tatasusunan operan terakhir hendaklah mengandungi hanya aksara yang ditakrifkan sebagai yang kedua
watak dalam setiap topper or untuk rendahkan pasangan watak, mengikut kesesuaian.
Rentetan kosong yang digunakan untuk string1 or string2 menghasilkan keputusan yang tidak ditentukan.
EXIT STATUS
Nilai keluar berikut hendaklah dikembalikan:
0 Semua input telah berjaya diproses.
>0 Ralat telah berlaku.
AKIBAT OF KESALAHAN
Lalai.
. berikutan bahagian adalah bermaklumat.
PERMOHONAN PENGGUNAAN
Sekiranya perlu, string1 and string2 boleh dipetik untuk mengelakkan padanan corak oleh cangkerang.
Jika digit biasa (mewakili dirinya sendiri) adalah mengikut urutan perlapanan, perlapanan
jujukan mesti menggunakan tiga digit penuh untuk mengelakkan kekaburan.
Bila string2 adalah lebih pendek daripada string1, hasil perbezaan antara Sistem V sejarah dan
sistem BSD. Pad sistem BSD string2 dengan watak terakhir yang terdapat dalam string2. Oleh itu, ia
adalah mungkin untuk melakukan perkara berikut:
tr 0123456789 d
yang akan menterjemah semua digit kepada huruf 'd'. Memandangkan kawasan ini adalah khusus
tidak dinyatakan dalam jilid POSIX.1‐2008 ini, kedua-dua gelagat BSD dan Sistem V adalah
dibenarkan, tetapi aplikasi yang mematuhi tidak boleh bergantung pada gelagat BSD. Ia perlu
kodkan contoh dengan cara berikut:
tr 0123456789 '[d*]'
Perlu diingatkan bahawa, walaupun terdapat persamaan dalam rupa, operan rentetan yang digunakan oleh
tr bukan ungkapan biasa.
Tidak seperti beberapa pelaksanaan sejarah, takrifan ini tr utiliti dengan betul
memproses aksara NUL dalam aliran inputnya. Aksara NUL boleh dilucutkan dengan menggunakan:
tr −d '\000'
CONTOH
1. Contoh berikut mencipta senarai semua perkataan dalam file1 satu setiap baris masuk file2,
di mana perkataan diambil sebagai rentetan huruf maksimum.
tr −cs "[:alfa:]" "[\n*]" <fail1 >fail2
2. Contoh seterusnya menterjemah semua aksara kecil ke dalam file1 kepada huruf besar dan menulis
keputusan kepada output standard.
tr "[:bawah:]" "[:atas:]" <fail1
3. Contoh ini menggunakan kelas kesetaraan untuk mengenal pasti varian beraksen asas
watak 'e' in file1, yang dilucutkan tanda diakritikal dan ditulis kepada file2.
tr "[=e=]" "[e*]" <fail1 >fail2
RATIONALE
Dalam beberapa cadangan awal, pilihan yang jelas −n telah ditambahkan untuk melumpuhkan sejarah
tingkah laku menanggalkan aksara NUL daripada input. Ia dianggap secara automatik
menanggalkan aksara NUL daripada input bukanlah fungsi yang betul. Walau bagaimanapun
penyingkiran daripada −n dalam cadangan kemudian tidak menghapuskan keperluan itu tr betul
proses aksara NUL dalam aliran inputnya. Aksara NUL boleh dilucutkan dengan menggunakan tr −d
'\000'.
Pelaksanaan sejarah bagi tr berbeza secara meluas dalam sintaks dan tingkah laku. Sebagai contoh, yang
Versi BSD tidak memerlukan aksara kurungan untuk urutan pengulangan. The tr
sintaks utiliti berdasarkan lebih dekat pada model Sistem V dan XPG3 semasa cuba
menampung pelaksanaan BSD bersejarah. Dalam kes pendek string2 padding, the
keputusan adalah untuk menyahspesifikasikan tingkah laku dan mengekalkan skrip Sistem V dan XPG3, yang mungkin
menemui kesukaran dengan kaedah BSD. Andaian dibuat bahawa pengguna BSD bagi tr perlu
buat penginapan untuk memenuhi sintaks yang ditakrifkan di sini. Oleh kerana ia adalah mungkin untuk menggunakan
urutan pengulangan untuk menduplikasi tingkah laku yang diingini, sedangkan tiada cara mudah untuk
mencapai kaedah Sistem V, ini adalah pendekatan yang betul, jika tidak diingini.
Penggunaan nilai perlapanan untuk menentukan aksara kawalan, sambil mempunyai preseden sejarah,
tidak mudah alih. Pengenalan urutan melarikan diri untuk watak kawalan harus
menyediakan kemudahalihan yang diperlukan. Adalah diakui bahawa ini mungkin menyebabkan beberapa sejarah
skrip untuk dipecahkan.
Cadangan awal termasuk sokongan untuk elemen penyusunan berbilang aksara. Ia ditunjuk
daripada itu, sementara tr menggunakan beberapa elemen sintaksis daripada RE, tujuan tr agak
berbeza; julat, sebagai contoh, tidak mempunyai makna yang serupa (``mana-mana aksara dalam
perlawanan jarak jauh'', berbanding ``terjemah setiap aksara dalam julat kepada output
rakan sejawat''). Akibatnya, sokongan yang disertakan sebelum ini untuk penyusunan berbilang aksara
elemen telah dialih keluar. Apa yang tinggal ialah julat dalam susunan pengumpulan semasa (untuk menyokong,
contohnya, aksara beraksen), kelas aksara dan kelas kesetaraan.
Dalam XPG3 [:kelas:] dan [=equiv=] konvensyen ditunjukkan dengan kurungan berganda, seperti dalam RE
sintaks. Walau bagaimanapun, tr tidak melaksanakan prinsip TBB; ia hanya meminjam sebahagian daripada sintaks.
Akibatnya, [:kelas:] dan [=equiv=] harus dianggap sebagai unsur sintaksis pada setara
dengan [x*n], yang bukan ungkapan kurungan RE.
Pembangun standard akan mempertimbangkan perubahan kepada tr yang membolehkannya menterjemah aksara
antara pengekodan aksara yang berbeza, atau mereka akan mempertimbangkan untuk menyediakan utiliti baharu untuk
mencapai ini.
Pada sistem Sistem V sejarah, ungkapan julat memerlukan tanda kurung segi empat sama,
seperti:
tr '[az]' '[AZ]'
Walau bagaimanapun, sistem berasaskan BSD tidak memerlukan kurungan, dan konvensyen ini digunakan di sini
untuk mengelak daripada memecahkan sejumlah besar skrip BSD:
tr az AZ
Skrip Sistem V sebelumnya akan terus berfungsi kerana kurungan, dianggap sebagai
aksara biasa, diterjemahkan kepada diri mereka sendiri. Walau bagaimanapun, mana-mana skrip Sistem V yang
bergantung pada "a-z" mewakili tiga watak 'A', '−', dan 'z' perlu ditulis semula
as "az−".
Piawaian ISO POSIX‐2:1993 mempunyai a −c pilihan yang berkelakuan serupa dengan −C pilihan, tetapi
tidak membekalkan fungsi yang setara dengan −c pilihan yang dinyatakan dalam POSIX.1‐2008. ini
bermakna bahawa amalan sejarah dapat menentukan tr −cd\000−\177 (yang akan
padam semua bait dengan set bit atas) tidak akan memberi kesan kerana, dalam tempat C,
bait dengan nilai oktal 200 hingga oktal 377 bukan aksara.
Versi terdahulu juga mengatakan bahawa jujukan oktal merujuk kepada unsur penyusun dan
boleh diletakkan bersebelahan antara satu sama lain untuk menentukan aksara berbilang bait. Walau bagaimanapun, ia adalah
menyatakan bahawa ini menyebabkan kekaburan kerana tr tidak akan dapat memberitahu sama ada bersebelahan
jujukan oktal berhasrat untuk menentukan aksara berbilang bait atau berbilang bait tunggal
watak. POSIX.1‐2008 menyatakan bahawa jujukan perlapanan sentiasa merujuk kepada perduaan bait tunggal
nilai apabila digunakan untuk menentukan titik akhir julat unsur penyusun.
Versi terdahulu piawaian ini dibenarkan untuk pelaksanaan dengan bait selain daripada lapan
bit, tetapi ini telah diubah suai dalam versi ini.
MASA HADAPAN ARAHAN
Tiada.
Gunakan trposix dalam talian menggunakan perkhidmatan onworks.net