1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331
|
.TH TR 1 "15 August 1999" "GNU textutils 2.0"
.SH NV
\fBtr\fR \- karakterek lecserlse, tmrtse s/vagy trlse
.SH TTEKINTS
.B tr
.RB [ \-cdst ]
.RB [ \-\-complement ]
.RB [ \-\-delete ]
.RB [ \-\-squeeze\-repeats ]
.RB [ \-\-truncate-set1 ]
.IR string1 " [" string2 ]
.BR tr " [" \-\-help "] [" \-\-version ]
.SH LERS
.B tr
tmsolja a szabvnyos bemenetet a szabvnyos kimenetre vgrehajtva egyet a
kvetkez feladatok kzl:
.IP
\fB\(bu\fR cserl, s vlaszthatan tmrti az eredmnyben az ismtld
karaktereket
.br
\fB\(bu\fR tmrti az ismtld karaktereket
.br
\fB\(bu\fR karaktereket trl
.br
\fB\(bu\fR karaktereket trl, majd tmrti az eredmnyben az ismtld
karaktereket.
.PP
A \fIstring1\fP s (ha megadott) a \fIstring2\fP argumentumok egy rendezett
karakterhalmazt hatroznak meg, melyre lejebb \fISET1\fR s \fISET2\fR-knt
hivatkozunk.
Ezek a halmazok azok a karakterei a bemenetnek, melyeken a \fBtr\fR mkdni
fog. A \fB\-\-complement\fR (\fB\-c\fR) opci kicserli a \fISET1\fR-et az
komplementervel (az sszes karakter, ami nincs a \fISET1\fR-ben).
.SH OPCIK
.TP
.B \-c, \-\-complement
Kicserli a \fISET1\fR-et az komplementervel (az sszes
karakter, ami nincs a \fISET1\fR-ben).
.TP
.B \-d, \-\-delete
Trli a bejv karakterek kzl azt, amelyik benne van a \fISET1\fR-ben,
nincs cserls.
.TP
.B \-s, \-\-squeeze\-repeats
Karaktersorozatot cserl ki egy karakterrel, miutn elvgezte a cserlst vagy
a trlst. Lecserl minden ismtld karaktersorozatot, ami benne van
a \fISET1\fR-ben, a karakter egyszeri elfordulsval.
.TP
.B \-t, \-\-truncate-set1
Mieltt belekezdene a cserlsbe, elszr megcsonktja a \fISET1\fR-et
a \fISET2\fR mretre.
.TP
.B "\-\-help"
Hasznlati tmutatt r a szabvnyos kimenetre, majd kilp.
.TP
.B "\-\-version"
A program verzijrl r ki informcit a szabvnyos kimenetre, majd
kilp.
.SH "KARAKTERHALMAZOK RSZLETEZSE"
.PP
A \fIstring1\fP s \fIstring2\fP argumentumok formtuma hasonlt a regulris
kifejezsek formtumra; habr nem regulris kifejezsek, csak karakterlistk.
A legtbb karakter sajt magt jelli ezekben a fzrekben, de a fzr
tartalmazhat lejebb felsorolt rvidtseket a knyelem kedvrt. Nhny ezek
kzl csak a \fIstring1\fP-ben vagy a \fIstring2\fP-ben hasznlhat, lsd
lejebb.
.SS Backslash szekvencik
Backslash utn egy az albbiakban fel nem sorolt
karaktert rva hibazenetet kapunk.
.RS
.TP
.B \ea
Control-G.
.TP
.B \eb
Control-H.
.TP
.B \ef
Control-L.
.TP
.B \en
Control-J.
.TP
.B \er
Control-M.
.TP
.B \et
Control-I.
.TP
.B \ev
Control-K.
.TP
.B \eOOO
Az \fIOOO\fP rtk karakter, ahol az \fIOOO\fP legfeljebb 3 oktlis szmjegy.
.TP
.B \e\e
Egy backslash.
.PP
.SS Tartomnyok
A `\fIm\fP\-\fIn\fP' jells feloldsa az \fIm\fP-tl az
\fIn\fP-ig terjed sszes karakter nvekv sorrendben. \fIm\fP-nek \fIn\fP
eltt kell elhelyezkednie, klnben hibt eredmnyez. Pldul a `0\-9'
megfelel a `0123456789'-nak.
Habr a GNU \fBtr\fR nem tmogatja a System V szintaxist, ami szgletes
zrjeleket hasznl a tartomnyok kzrefogsra, a cserls, ami ebben a
formtumban lett megadva mkdni fog, amennyiben a zrjelek a
\fIstring1\fP-ben sszhangban vannak a \fIstring2\fP-ben lvkkel.
.SS Ismtld karakterek
A `[\fIc\fP*\fIn\fP]' jells a \fIstring2\fP-ben a
\fIc\fP karakter \fIn\fP-szeri ismtlst jelenti. gy a `[y*6]' megfelel a
`yyyyyy'-nak. A `[\fIc\fP*]' jells a \fIstring2\fP-ben megfelel a \fIc\fP
karakter annyiszoros msolatnak, ahnyra szksg van ahhoz, hogy a
\fISET2\fP a \fISET1\fP-gyel azonos hosszsg legyen. Ha az \fIn\fP 0-val
kezddik, akkor oktlisan rtelmezi, egybknt decimlisan.
.SS Karakter osztlyok
A `[:\fIclass-name\fP:]' jells feloldsa az sszes
\fIclass-name\fP (elre definilt) osztlybeli karakter. A kifejtett
karaktereknek nincsen pontos sorrendje, kivve az `upper' s `lower'
osztlyokat, melyek nvekv sorrendben fejtdnek ki.
Amennyiben a
.B \-\-delete
(\fB\-d\fR) s
.B \-\-squeeze\-repeats
(\fB\-s\fR) opcik mindegyikt megadta, brmelyik karakterosztly hasznlhat
a \fIstring2\fP-ben. Egybknt csak a `lower' s `upper' adhat meg a
\fIstring2\fP-ben, s csak akkor, ha a megfelel karakterosztlyokat (`upper'
s `lower', kln-kln) ugyanazon a relatv helyen adtk meg a
\fIstring1\fP-ben. Ez kisbet-nagybet talaktst hajt vgre. rvnytelen
osztlynv hibt eredmnyez. Az albbi osztlynevek lteznek:
.RS
.TP
.B alnum
Betk s szmok.
.TP
.B alpha
Betk.
.TP
.B blank
Vzszintes fehrszkzk.
.TP
.B cntrl
Vezrl karakterek.
.TP
.B digit
Szmok.
.TP
.B graph
Nyomtathat karakterek, a szkzt kivve.
.TP
.B lower
Kisbetk.
.TP
.B print
Nyomtathat karakterek, a szkzzel egytt.
.TP
.B punct
rsjelek.
.TP
.B space
Vzszintes vagy fggleges fehrszkzk.
.TP
.B upper
Nagybetk.
.TP
.B xdigit
Hexadecimlis szmok.
.PP
.SS Ekvivalencia osztlyok
A `[=\fIc\fP=]' szintaxis feloldsa az sszes
karakternek, ami egyenrtk a \fIc\fP karakterrel, nem meghatrozott
sorrendben. Az ekvivalencia osztly egy jkelet talalmny, ami a nem angol
bcket szndkozik tmogatni. Viszont gy ltszik, hogy nincs irnyad mdja
annak, hogyan definiljuk vagy hatrozzuk meg a tartalmukat. Emiatt nem
megvalstott ez a GNU
.BR tr -ben;
minden karakter ekvivalencia osztlya csak sajt magbl ll, ami jelenleg
hasznavehetetlenn teszi ezt a lehetsget.
.SH CSERLS
.PP
A
.B tr
cserlst vgez, ha a \fIstring1\fP s a \fIstring2\fP is megadsra kerlt
s a \fB\-\-delete\fR (\fB\-d\fR) opci nem lett megadva. A \fItr\fP
lecserli a bemenetnek sszes karaktert, ami benne van a
\fISET1\fP-ben, a \fISET2\fP beli megfelel karakterre. A karakterek, melyek
nem szerepelnek a \fISET1\fP-ben vltozatlanul maradnak. Amennyiben egy
karakter tbbszr is elfordul a \fISET1\fP-ben s az sszes megfelel
karakter nem ugyanaz, akkor az utolst veszi csak figyelembe. Pldul az
albbi kt parancs azonos:
.sp
.RS
.nf
tr aaa xyz
tr a z
.fi
.RE
.sp
Egy gyakori alkalmazsa a
.B tr
parancsnak a kisbetk nagybetv alaktsa. Ez megoldhat tbb mdon. Itt
van kzllk hrom:
.RS
.nf
tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
tr a-z A-Z
tr '[:lower:]' '[:upper:]'
.fi
.RE
.PP
Amikor a \fBtr\fR cserlst hajt vgre, a \fISET1\fP-nek s a \fISET2\fP-nek
azonos hosszsgnak kell lennie. Ha a \fISET1\fP rvidebb a
\fISET2\fP-nl, a felesleges karaktereket a \fISET2\fP vgrl figyelmen kvl hagyja.
.PP
Msrszt, ha a \fISET1\fP hosszabb a \fISET2\fP-nl, akkor nem lesz
hordozhat a kd; POSIX.2
szerint az eredmny nem meghatrozott. Ebben az esetben a BSD \fBtr\fR
kibvti a \fISET1\fP-t a \fISET2\fP hosszra a \fISET2\fP utols karakternek
megfelel szm ismtlsvel. A System V \fBtr\fR levgja a \fISET1\fP-et a
\fISET1\fP hosszra.
.PP
Alaprtelmezs szerint a GNU \fBtr\fR
ezt az esetet a BSD \fBtr\fR-jhez hasonlan csinlja. Ha a
\fB\-\-truncate-set1\fR (\fB\-t\fR) opci megadsra kerlt, a GNU
\fBtr\fR a System V \fBtr\fR-jhez hasonlan csinlja. Ezt az opcit
figyelmen kvl hagyja a cserlsi eljrson kvl.
.PP
A System V \fBtr\fR ebben az esetben megszaktja a relatv gyakori BSD stlust:
.RS
.nf
tr -cs A-Za-z0-9 '\e012'
.fi
.RE
mert ez csak a nulla bjtot fogja talaktani (az els tagjt a \fISET1\fR
komplementernek), ahelyett, hogy az sszes nem alfanumerikus karaktert
lecserln jsor karakterre.
.SS "ISMTLDSEK SSZEHZSA S TRLS"
.PP
Amennyiben csak a \fB\-\-delete\fR (\fB\-d\fR) opci kerlt megadsra, a
.B tr
eltvolt minden karaktert, amely a \fISET1\fP-ben szerepel.
.PP
Amennyiben csak a \fB-\-squeeze\-repeats\fR (\fB\-s\fR)opci kerlt megadsra, a
.B tr
lecserli az sszes bemeneti, \fISET1\fR-ben lv karaktersorozatot az egyszeri
elfordulsval.
.PP
Amennyiben a \fB\-\-delete\fR s a \fB\-\-squeeze\-repeats\fR opci is megadsra
kerlt, a \fBtr\fR
elszr elvgzi a trlst a \fISET1\fR felhasznlsval, majd az sszehzst a
maradk karaktereken a \fISET2\fR felhasznlsval.
.PP
A \fB\-\-squeeze\-repeats\fR opci a cserlssel egytt is hasznlhat,
ezesetben a \fBtr\fR elszr vgrehajtja a csert, majd sszevonja az ismtld
karaktereket a \fISET2\fR felhasznlsval.
Itt van nhny plda az klnbz opcik varilsnak bemutatsra:
\fB\(bu\fR Az sszes nulla bjt eltvoltsa:
.sp
.RS
tr \-d '\e000'
.fi
.RE
.sp
\fB\(bu\fR Az sszes sz klnbz sorokba bontsa. Az sszes nem alfanumerikus
karaktert jsor karakterre cserli, majd az ismtld jsor karaktereket
sszevonja egyetlenn:
.sp
.RS
.nf
tr \-cs '[a-zA-Z0-9]' '[\en*]'
.fi
.RE
.sp
\fB\(bu\fR Az sszes ismtld jsor karaktert egyetlenn vonja ssze:
.sp
.RS
.nf
tr \-s '\en'
.fi
.RE
.sp
\fB\(bu\fR A szavak dupla elfordulsnak megtallsa. Pldul az
emberek gyakran rjk a "the the" ismtld szavakat egy jsor
karakterrel elvlasztva. Az albbi bourne shell script elszr
tkonvertlja az rsjelek s a szkzk sorozatt egy jsor
karakterr, amitl minden "sz" kln sorba kerl. Ezutn trja az
sszes nagybett kicsire, s vgl elindtja a \fBuniq\fR(1) parancsot
a \fB\-d\fR opcival, hogy csak az ismtld szavakat rja ki.
.sp
.RS
.nf
#!/bin/sh
cat "$@" \e
| tr \-s '[:punct:][:blank:]' '\en' \e
| tr '[:upper:]' '[:lower:]' \e
| uniq \-d
.fi
.RE
.sp
.SH "POSIX KOMPATIBILITS"
.PP
A POSIXLY_CORRECT krnyezeti vltoz belltsval kikapcsolhatunk szmos
figyelmeztet- s hibazenetet a szigorbb POSIX.2 megfelels rdekben.
Az zenetek normlisan a kvetkez krlmnyek kztt fordulnak el:
.IP
1. Amikor a \fB\-\-delete\fR opcit megadtuk, de a
\fB\-\-squeeze\-repeats\fR-t nem, s a \fIstring2\fP-t is megadtuk, a GNU
\fBtr\fR alaprtelmezs szerint kir egy hasznlati zenetet s kilp, mert a
\fIstring2\fP nem kerl felhasznlsra. A POSIX specifikci szerint a
\fIstring2\fP-t figyelmen kvl kell hagyni ebben az esetben. Csendben
figyelmen kvl hagyni egy argumentumot rossz tlet.
.IP
2. Amikor egy flrerthet oktlis kd kerl megadsra. Pldul a \e400
egy \e40 majd egy 0, mert a 400 oktlis szm nem fr bele egy bjtba.
.PP
Fontos, hogy a GNU \fBtr\fR nem teljesen kompatibilis a BSD vagy a System V
vltozattal. Pldul nincsen opci a [:alpha:], [=c=] s [c*10] POSIX
rtelmezsek kikapcsolshoz. A GNU \fBtr\fR a nulla karaktert sem trli
automatikusan, ellenttben a tradcionlis UNIX varinsokkal, amelyeknl nincs
lehetsg a nulla bjt megvdsre.
.SH MEGJEGYZS
Hibajelentseket a \fBbug-textutils@gnu.org\fR cmre kldd.
.br
Ezt a kziknyv lapot Ragnar Hojland Espinosa <ragnar@macula.net>
rta.
.SH MAGYAR FORDTS
Nagy Ern <ned@elte.hu>
|