Pluto Free Software Users Group Pluto Free Software Users Group
EXPR(1L) manual page Table of Contents

Nome

expr - valuta un'espressione

Sintassi

expr espressione...
expr {--help,--version}

Descrizione

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.

Opzioni

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.

Esempi

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

HOWTO
Guide LDP
Italian HOWTO
AppuntiLinux
LDR
Pagine man
      man1
      man2
      man3
      man4
      man5
      man6
      man7
      man8
FAQ di icl
Gnome
Altri documenti
Mirror ildp
Meeting
Pluto Journal
Mailing List
Disclaimer
Area ftp
Cerca
Pluto home

Copyright © 2001 Pluto Free Software Users Group
pluto@pluto.linux.it

Valid HTML 4.01!

webmaster @ pluto.linux.it
Il Pluto ringrazia i suoi sponsor.