|
EXPR(1L) manual page
Table of Contents
expr - valuta un'espressione
expr espressione...
expr {--help,--version}
Questa documentazione non è mantenuta da lungo tempo e potrebbe
essere inaccurata o incompleta. La documentazione in Texinfo è ora la fonte
autorevole.
Questa pagina di manuale documenta la versione GNU di expr.
expr valuta un'espressione e scrive il risultato nel suo standard output.
Ogni token (sequenza di caratteri che viene considerata come un'unica componente)
dell'espressione deve essere separato da un argomento. Gli operandi sono
numeri o stringhe. Non è necessario racchiudere le stringhe tra virgolette
per expr , sebbene ciò possa essere necessario per proteggerle dalla shell.
expr forza qualsiasi cosa che appare nella posizione di un operando ad
un intero o a una stringa a seconda dell'operazione da applicargli.
Gli
operatori sono (in ordine di precedenza crescente):
- |
- Tiene il suo primo
argomento se questi non è null oppure 0, altrimenti il suo secondo. È la
solita operazione di `or'.
- &
- Tiene il primo argomento se nessun argomento
è null o 0, altrimenti vale 0.
- < <= = == != >= >
- Confrontano i
loro argomenti e ritornano 1 se la relazione è vera, 0 altrimenti. (==
è un sinonimo per = .) expr prova a forzare entrambi gli argomenti a
numeri ed effettua un confronto numerico; se tale forzatura non riesce,
fa un confronto lessicografico.
- + -
- Esegue operazioni aritmetiche. Entrambi
gli argomenti sono forzati a numeri; se questo non può essere fatto viene
generato un errore.
- * / %
- Esegue operazioni aritmetiche (`%' è operazione
di resto, come in C). Entrambi gli argomenti sono forzati a numeri; se
questo non può essere fatto viene generato un errore.
- :
- Effettua un pattern
matching. I suoi argomenti sono forzati a stringhe e il secondo è considerato
essere un'espressione regolare, con un `^' implicitamente aggiunto al suo
inizio. Del primo argomento ne è poi cercata una istanza in questa espressione
regolare. Se la corrispondenza esiste e parte della stringa è racchiusa
tra `\(' e `\)', quella parte è il valore dell'espressione : ; altrimenti è ritornato
un intero che è il numero di caratteri di cui è trovata la corrispondenza.
Se la corrispondenza fallisce, l'operatore : restituisce una stringa nulla
se sono usati `\(' e `\)', altrimenti 0. Può essere usata solo una coppia `\(' e
`\)'.
- Sono riconosciute, inoltre, le seguenti parole chiave:
- match stringa
espr_reg
- Un modo alternativo di fare il pattern matching. È uguale a ``stringa
: espr_reg ''.
- substr stringa posizione lunghezza
- Restituisce la sottostringa
di stringa che inizia a posizione e lunga al più lunghezza . Se posizione
o lunghezza sono negativi o non numerici ritorna una stringa nulla.
- index stringa classe-caratteri
- Restituisce la prima posizione di stringa
dove è stato trovato il primo carattere di classe-caratteri . Se nessun
carattere di classe-caratteri è trovato in stringa , restituisce 0.
- length
stringa
- Restituisce la lunghezza di stringa .
Le parentesi sono usate
per i raggruppamenti nel modo solito. Le parole chiave non possono essere
usate come stringhe.
Quando GNU expr è chiamato con un solo argomento
sono riconosciute le seguenti opzioni:
- --help
- Mostra nello standard output
un messaggio d'aiuto ed esce con successo.
- --version
- Mostra nello standard
output informazioni sulla versione ed esce con successo.
Per aggiungere
1 alla variabile d'ambiente a:
- a=`expr $a + 1`
Il seguente esempio mostra
un modo per stampare la parte non-directory del nome di file nella variabile
a (il valore in a non serve contenga `/'):
- expr $a : '.*/\(.*\)' '|' $a
Si noti
che i metacaratteri shell sono racchiusi tra virgolette.
expr restituisce
i seguenti stati d'uscita:
0 se l'espressione non è né null né 0,
1 se
l'espressione è null o 0,
2 per espressioni non valide.
Table of Contents
|