GoGPT Best VPN GoSearch

Favicon di OnWorks

trposix - Online nel cloud

Esegui trposix nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando trposix che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


tr — traduci i caratteri

SINOSSI


tr [-c|-C] [-s] string1 string2

tr −s [-c|-C] string1

tr −d [-c|-C] string1

tr −ds [-c|-C] string1 string2

DESCRIZIONE


. tr l'utilità copierà l'input standard nell'output standard con sostituzione o
eliminazione dei caratteri selezionati. Le opzioni specificate e string1 e string2
gli operandi devono controllare le traduzioni che si verificano durante la copia dei caratteri e dei singoli
elementi di collazione dei caratteri.

VERSIONI


. tr l'utilità deve essere conforme al volume delle definizioni di base di POSIX.1‐2008, Sezione 12.2,
Utilità Sintassi Linee Guida.

Sono supportate le seguenti opzioni:

-c Completa l'insieme dei valori specificati da string1Vedere la DESCRIZIONE ESTESA
.

-C Completa l'insieme dei caratteri specificati da string1. Vedi la versione ESTESA
sezione DESCRIZIONE.

-d Elimina tutte le occorrenze dei caratteri di input specificati da string1.

-s Sostituisci le istanze di caratteri ripetuti con un singolo carattere, come descritto
nella sezione DESCRIZIONE ESTESA.

OPERANDI


Devono essere supportati i seguenti operandi:

string1, string2
Stringhe di controllo della traduzione. Ogni stringa deve rappresentare un insieme di caratteri da
essere convertito in un array di caratteri utilizzati per la traduzione. Per un
descrizione dettagliata di come vengono interpretate le stringhe, vedere la versione ESTESA
sezione DESCRIZIONE.

STDIN


L'input standard può essere qualsiasi tipo di file.

INGRESSO FILE


Nessuno.

AMBIENTE VARIABILI


Le seguenti variabili d'ambiente influiranno sull'esecuzione di tr:

LUNGO Fornire un valore predefinito per le variabili di internazionalizzazione non impostate o
nullo. (Vedi il volume Definizioni di base di POSIX.1-2008, Sezione 8.2,
Internazionalizzazione Variabili per il primato dell'internazionalizzazione
variabili utilizzate per determinare i valori delle categorie locali.)

LC_TUTTI Se impostato su un valore di stringa non vuoto, sovrascrive i valori di tutti gli altri
variabili di internazionalizzazione.

LC_COLLATE
Determinare le impostazioni locali per il comportamento delle espressioni di intervallo e dell'equivalenza
classi.

LC_CTYPE Determinare la localizzazione per l'interpretazione di sequenze di byte di dati di testo
come caratteri (ad esempio, caratteri a byte singolo anziché caratteri multibyte in
argomenti) e il comportamento delle classi di caratteri.

LC_MESSAGGI
Determinare la localizzazione che dovrebbe essere usata per influenzare il formato e il contenuto di
messaggi di diagnostica scritti nell'errore standard.

NLSPATH Determinare la posizione dei cataloghi dei messaggi per l'elaborazione di LC_MESSAGGI.

ASINCRONO EVENTI


Predefinito.

STDOUT


. tr l'output deve essere identico all'input, ad eccezione di quanto specificato
trasformazioni.

Stderr


L'errore standard deve essere utilizzato solo per i messaggi di diagnostica.

USCITA FILE


Nessuno.

EXTENDED DESCRIZIONE


Gli operandi string1 e string2 (se specificato) definisce due array di caratteri. Il
le costruzioni nell'elenco seguente possono essere utilizzate per specificare caratteri o caratteri singoli
elementi di collazione. Se uno qualsiasi dei costrutti risulta in elementi di collazione multi-carattere,
tr escluderà, senza una diagnosi, quegli elementi multicarattere dal risultato
Vettore.

carattere Qualsiasi carattere non descritto da una delle convenzioni sottostanti deve rappresentare
stessa.

\ottale Le sequenze ottali possono essere utilizzate per rappresentare caratteri con valori codificati specifici.
Una sequenza ottale deve essere composta da un seguito dal più lungo
sequenza di caratteri ottali da una, due o tre cifre (01234567). La sequenza
deve causare il valore la cui codifica è rappresentata da uno, due o tre-
numero intero ottale da inserire nell'array. I caratteri multibyte richiedono
sequenze di escape multiple e concatenate di questo tipo, inclusa la sequenza iniziale
per ogni byte.

\carattere
IL -sequenze di escape nel volume Base Definitions di POSIX.1‐2008,
Table 5-1, Fuga sequenze e Associated Azioni ('\\', '\un', '\B', '\F',
'\n', '\R', '\t', '\v') devono essere supportati. I risultati dell'utilizzo di qualsiasi altro
carattere, diverso da una cifra ottale, che segue il non sono specificati.
Inoltre, se non c'è alcun carattere dopo il , i risultati sono
non specificato.

c-c Nelle impostazioni locali POSIX, questa struttura deve rappresentare l'intervallo di collazione
elementi tra gli estremi dell'intervallo (purché nessuno dei due estremi sia un ottale
sequenza della forma \ottale), inclusi, come definito dalla sequenza di collazione.
I caratteri o gli elementi di confronto nell'intervallo devono essere posizionati nell'array
in sequenza di confronto ascendente. Se il secondo endpoint precede l'inizio
endpoint nella sequenza di collazione, non è specificato se l'intervallo di
gli elementi di collazione sono vuoti o questa struttura viene considerata non valida. Nelle impostazioni locali
a parte le impostazioni locali POSIX, questa struttura ha un comportamento non specificato.

Se uno o entrambi gli estremi dell'intervallo sono sequenze ottali della forma \ottale,
questo rappresenterà l'intervallo di valori codificati specifici tra i due intervalli
punti finali, inclusi.

[:classe:] Rappresenta tutti i caratteri appartenenti alla classe di caratteri definita, come definito
dall'impostazione attuale del LC_CTYPE categoria locale. Il seguente carattere
i nomi delle classi saranno accettati quando specificati in string1:

alum vuoto cifra abbassarla punto superiore
alfa ctrl grafico stampare spazio xcifra

Inoltre, le espressioni di classi di caratteri della forma [:Nome:] sarà
riconosciuto in quei luoghi dove il Nome alla parola chiave è stata assegnata una classe di caratteri
definizione nel LC_CTYPE categoria.

Quando entrambi i -d e -s sono specificate le opzioni, uno qualsiasi dei nomi delle classi di caratteri
sarà accettato in string2Altrimenti, solo i nomi delle classi di caratteri abbassarla or
superiore sono validi in string2 e solo se la classe di caratteri corrispondente
(superiore e abbassarla, rispettivamente) è specificato nella stessa posizione relativa in
string1Tale specificazione deve essere interpretata come una richiesta di caso
conversione. Quando [:abbassarla:] appare in string1 E [:superiore:] appare in string2,
gli array devono contenere i caratteri da tomaia mappatura nel LC_CTYPE
categoria delle impostazioni locali correnti. Quando [:superiore:] appare in string1 E [:abbassarla:]
appare in string2, gli array devono contenere i caratteri da ridurre
mappatura nel LC_CTYPE categoria delle impostazioni locali correnti. Il primo carattere da
ogni coppia di mappatura deve essere nell'array per string1 e il secondo personaggio
da ogni coppia di mappatura deve essere nell'array per string2 nello stesso parente
posizione.

Ad eccezione della conversione tra maiuscole e minuscole, i caratteri specificati da una classe di caratteri
l'espressione deve essere inserita nell'array in un ordine non specificato.

Se il nome specificato per classe non definisce una classe di caratteri valida in
nelle impostazioni locali correnti, il comportamento non è definito.

[=equivalente=] Rappresenta tutti i caratteri o gli elementi di collazione appartenenti allo stesso
classe di equivalenza come equivalente, come definito dall'impostazione corrente del LC_COLLATE
categoria locale. Un'espressione di classe di equivalenza sarà consentita solo in
string1, O in string2 quando viene utilizzato dalla combinazione -d e -s opzioni.
I caratteri appartenenti alla classe di equivalenza devono essere inseriti nell'array
in un ordine non specificato.

[x*n] Rappresenta n ripetute occorrenze del personaggio x. Perché questa espressione
viene utilizzato per mappare più caratteri in uno, è valido solo quando si verifica in
string2. Se n è omesso o è zero, deve essere interpretato come sufficientemente grande da
estendere la string2-sequenza basata sulla lunghezza del string1sequenza basata su.
If n ha uno zero iniziale, deve essere interpretato come un valore ottale. Altrimenti,
deve essere interpretato come un valore decimale.

Quando il -d l'opzione non è specificata:

* Se string2 è presente, ogni carattere di input trovato nell'array specificato da string1
deve essere sostituito dal carattere nella stessa posizione relativa nell'array
specificato da string2. Se l'array specificato da string2 è più corto di quello
specificato da string1, o se un carattere si verifica più di una volta in string1, i risultati
non sono specificati.

* Se la -C opzione è specificata, i complementi dei caratteri specificati da string1
(l'insieme di tutti i caratteri nel set di caratteri corrente, come definito dall'attuale
impostazione di LC_CTYPE, ad eccezione di quelli effettivamente specificati nel string1 operando) deve
essere posizionati nell'array in sequenza di confronto crescente, come definito dalla corrente
impostazione di LC_COLLATE.

* Se la -c opzione è specificata, il complemento dei valori specificati da string1 deve
essere posizionati nell'array in ordine crescente in base al valore binario.

* Poiché l'ordine in cui i caratteri specificati dalle espressioni di classe di caratteri o
le espressioni della classe di equivalenza non sono definite, tali espressioni dovrebbero essere utilizzate solo se
l'intento è quello di mappare più caratteri in uno. Un'eccezione è la conversione tra maiuscole e minuscole, come
descritto in precedenza.

Quando il -d l'opzione è specificata:

* Caratteri di input trovati nell'array specificato da string1 deve essere cancellato.

* Quando il -C l'opzione è specificata con -d, tutti i caratteri eccetto quelli specificati da
string1 saranno cancellati. Il contenuto di string2 vengono ignorati, a meno che il -s opzione è
anche specificato.

* Quando il -c l'opzione è specificata con -d, tutti i valori eccetto quelli specificati da string1
saranno cancellati. Il contenuto di string2 deve essere ignorato, a meno che il -s opzione è
anche specificato.

* La stessa stringa non può essere utilizzata per entrambi i -d e la -s opzione; quando entrambe le opzioni
sono specificati entrambi string1 (utilizzato per l'eliminazione) e string2 (usato per spremere) deve
essere richiesto.

Quando il -s l'opzione è specificata, dopo che sono state effettuate eliminazioni o traduzioni,
le sequenze ripetute dello stesso carattere devono essere sostituite da una occorrenza dello stesso
carattere, se il carattere si trova nell'array specificato dall'ultimo operando. Se il
l'ultimo operando contiene una classe di caratteri, come nel seguente esempio:

tr -s '[:spazio:]'

l'array dell'ultimo operando deve contenere tutti i caratteri di quella classe di caratteri.
Tuttavia, in una conversione di casi, come descritto in precedenza, come:

tr -s '[:superiore:]' '[:inferiore:]'

l'array dell'ultimo operando deve contenere solo i caratteri definiti come secondi
personaggi in ciascuno dei tomaia or ridurre coppie di caratteri, a seconda dei casi.

Una stringa vuota utilizzata per string1 or string2 produce risultati indefiniti.

EXIT STATUS


Devono essere restituiti i seguenti valori di uscita:

0 Tutti gli input sono stati elaborati correttamente.

>0 Si è verificato un errore.

CONSEGUENZE OF ERRORI


Predefinito.

. i seguenti sezioni sono Informativo.

APPLICAZIONI USO


Se necessario, string1 e string2 può essere citato per evitare la corrispondenza di modelli da parte della shell.

Se una cifra ordinaria (che rappresenta se stessa) deve seguire una sequenza ottale, l'ottale
la sequenza deve utilizzare tutte e tre le cifre per evitare ambiguità.

Quando string2 è più corto di string1, si ottiene una differenza tra il Sistema V storico e
Sistemi BSD. Un sistema BSD pad string2 con l'ultimo carattere trovato in string2. Quindi, esso
è possibile fare quanto segue:

tr 0123456789 d

che tradurrebbe tutte le cifre in lettere 'D'Poiché questa zona è specificamente
non specificato in questo volume di POSIX.1‐2008, sia i comportamenti BSD che System V sono
consentito, ma un'applicazione conforme non può fare affidamento sul comportamento BSD. Dovrebbe
codificare l'esempio nel modo seguente:

tr 0123456789 '[D*]'

Va notato che, nonostante le somiglianze nell'aspetto, gli operandi stringa utilizzati da
tr non sono espressioni regolari.

A differenza di alcune implementazioni storiche, questa definizione di tr utilità correttamente
elabora i caratteri NUL nel suo flusso di input. I caratteri NUL possono essere rimossi utilizzando:

tr -d '\000'

ESEMPI


1. L'esempio seguente crea un elenco di tutte le parole in file1 uno per riga in file2,
dove una parola è considerata una stringa massima di lettere.

tr -cs "[:alfa:]" "[\N*]" <file1 >file2

2. Il prossimo esempio traduce tutti i caratteri minuscoli in file1 in maiuscolo e scrive
i risultati allo standard output.

tr "[:inferiore:]" "[:superiore:]" <file1

3. Questo esempio utilizza una classe di equivalenza per identificare le varianti accentate della base
carattere 'e' in file1, che vengono privati ​​dei segni diacritici e scritti in file2.

tr "[=e=]" "[e*]" <file1 >file2

FONDAMENTO LOGICO


In alcune prime proposte, un'opzione esplicita -n è stato aggiunto per disabilitare lo storico
comportamento di rimozione dei caratteri NUL dall'input. Si è ritenuto che automaticamente
l'eliminazione dei caratteri NUL dall'input non era una funzionalità corretta. Tuttavia,
rimozione di -n in una proposta successiva non rimuove il requisito che tr correttamente
elaborare i caratteri NUL nel suo flusso di input. I caratteri NUL possono essere rimossi utilizzando tr -d
'\000'.

implementazioni storiche di tr differiscono ampiamente nella sintassi e nel comportamento. Ad esempio, il
La versione BSD non ha bisogno dei caratteri parentesi per la sequenza di ripetizione. tr
la sintassi dell'utilità si basa più da vicino sul modello System V e XPG3 mentre si tenta di
ospitare implementazioni BSD storiche. Nel caso del breve string2 imbottitura, il
la decisione è stata quella di non specificare il comportamento e preservare gli script System V e XPG3, che potrebbero
trovano difficoltà con il metodo BSD. Si è ipotizzato che gli utenti BSD di tr devono
apportare modifiche per soddisfare la sintassi qui definita. Poiché è possibile utilizzare il
sequenza di ripetizione per duplicare il comportamento desiderato, mentre non esiste un modo semplice per
per raggiungere il metodo del Sistema V, questo era l'approccio corretto, anche se non auspicabile.

L'uso di valori ottali per specificare caratteri di controllo, pur avendo precedenti storici,
non è portabile. L'introduzione di sequenze di escape per i caratteri di controllo dovrebbe
fornire la necessaria portabilità. È riconosciuto che ciò potrebbe causare alcuni problemi storici
script da rompere.

Una prima proposta includeva il supporto per elementi di collazione multi-carattere. Era indicato
fuori che, mentre tr impiega alcuni elementi sintattici delle RE, lo scopo di tr è piuttosto
diversi; gli intervalli, ad esempio, non hanno un significato simile (``uno qualsiasi dei caratteri nel
''corrispondenze di gamma'', ``tradurre ogni carattere nell'intervallo nell'output
controparte''). Di conseguenza, il supporto precedentemente incluso per la collazione multi-carattere
elementi è stato rimosso. Ciò che rimane sono intervalli nell'ordine di confronto corrente (per supportare,
ad esempio, caratteri accentati), classi di caratteri e classi di equivalenza.

In XPG3 il [:classe:] e [=equivalente=] le convenzioni sono mostrate con doppie parentesi, come in RE
sintassi. Tuttavia, tr non implementa i principi RE; prende semplicemente in prestito parte della sintassi.
Di conseguenza, [:classe:] e [=equivalente=] dovrebbero essere considerati elementi sintattici alla pari
insieme a [x*n], che non è un'espressione tra parentesi RE.

Gli sviluppatori standard prenderanno in considerazione le modifiche a tr che gli permettono di tradurre i caratteri
tra diverse codifiche dei caratteri, oppure prenderanno in considerazione la possibilità di fornire una nuova utilità per
realizzare questo.

Nei sistemi storici del Sistema V, un'espressione di intervallo richiede di racchiudere le parentesi quadre,
per esempio:

tr '[az]' '[AZ]'

Tuttavia, i sistemi basati su BSD non richiedevano le parentesi e questa convenzione viene utilizzata qui
per evitare di danneggiare un gran numero di script BSD:

tr az AZ

Lo script System V precedente continuerà a funzionare perché le parentesi, trattate come
caratteri regolari, vengono tradotti in se stessi. Tuttavia, qualsiasi script System V che
invocato "a-z" che rappresentano i tre personaggi 'un', '-'e 'z' devono essere riscritti
as "az−".

Lo standard ISO POSIX-2:1993 aveva un -c opzione che si comportava in modo simile a -C opzione, ma
non ha fornito funzionalità equivalenti a quelle -c opzione specificata in POSIX.1‐2008. Questa
significava che la pratica storica di poter specificare tr -cd\000−\177 (che sarebbe
eliminare tutti i byte con il bit superiore impostato) non avrebbe alcun effetto perché, nelle impostazioni locali C,
i byte con valori ottali da 200 a 377 non sono caratteri.

La versione precedente diceva anche che le sequenze ottali si riferivano agli elementi di collazione e
potrebbero essere posizionati uno accanto all'altro per specificare caratteri multibyte. Tuttavia, era
ha notato che ciò ha causato ambiguità perché tr non sarebbe in grado di dire se adiacente
le sequenze ottali intendevano specificare caratteri multibyte o più byte singoli
caratteri. POSIX.1-2008 specifica che le sequenze ottali si riferiscono sempre a un singolo byte binario
valori quando utilizzati per specificare un punto finale di un intervallo di elementi di confronto.

Le versioni precedenti di questo standard consentivano implementazioni con byte diversi da otto
bit, ma questo è stato modificato in questa versione.

FUTURE INDICAZIONI


Nessuno.

Utilizzare trposix online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad




×
Cookie per pubblicità
❤️Fai acquisti, prenota o acquista qui: nessun costo, aiuta a mantenere i servizi gratuiti.