Bash
De Admin -- TALEVAS.
(Différences entre les versions)
(→SED) |
|||
| Ligne 52 : | Ligne 52 : | ||
<nowiki>sed -i 3{s/[[:alnum:]]*^/$date/g} test.fr.vhost</nowiki> | <nowiki>sed -i 3{s/[[:alnum:]]*^/$date/g} test.fr.vhost</nowiki> | ||
<nowiki>[[:alnum:]]*^</nowiki> => tout les alphanumériques et n'importe quoi ensuite. | <nowiki>[[:alnum:]]*^</nowiki> => tout les alphanumériques et n'importe quoi ensuite. | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | == EXPR == | ||
| + | |||
| + | [http://tldp.org/LDP/abs/html/string-manipulation.html] | ||
| + | |||
| + | expr substr $VALUE 9 2 | ||
| + | expr length $VALUE | ||
| + | if [ `expr length $VALUE` -lt "2" ] | ||
Version du 1 février 2008 à 12:45
les commandes de test
Tester un fichier (de type répertoire) dans l'exemple suivant =>
if [ -d /home/talevas ]; then echo test; fi
if test -d /home/talevas ; then echo ok; else echo plouf; fi if [ -d /home/talevas ]; then echo ok; else echo plouf; fi
Tester une chaine de caractère =>
Ici on test un user existe dans /etc/pasword.
grep ${USER} /etc/passwd
cette commande va nous retourne un STRING ou pas selon que le suer existe ou non
TEST=grep ${USER} /etc/passwd
if test -n "$TEST" ; then echo ok; else echo plouf; fi
if [ -n "$TEST" ] ; then echo ok; else echo plouf; fi
Retourne OK si le user existe ou PLOUFF s'il n'existe pas
TEST=grep ${USER} /etc/passwd
if test -z "$TEST" ; then echo ok; else echo plouf; fi
if [ -z "$TEST" ] ; then echo ok; else echo plouf; fi
Retourne OK si le user n'existe pas ou PLOUFF s'il existe
tiré du manuel =>
`-z STRING'
True if the length of STRING is zero.
`-n STRING'
`STRING'
True if the length of STRING is nonzero.
SED
sed -i s/avant/après/g file.txt -i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
sed -i 3{s/\[\[:alnum:\]\]/t/g} test.fr.vhost
3 => 3eme ligne
{ ce qu'on y applique }
sed -i 3{s/[[:alnum:]]*^/$date/g} test.fr.vhost
[[:alnum:]]*^ => tout les alphanumériques et n'importe quoi ensuite.
EXPR
expr substr $VALUE 9 2 expr length $VALUE if [ `expr length $VALUE` -lt "2" ]