donc : for FIC in `ls /temp/toto* 2>/dev/null |grep -v old` do echo "$FIC" done
C'était bien la redirection qui était mauvaise. Merci encore
Stephane Chazelas
On 2 Mar 2006 06:32:05 -0800, ozzii wrote:
Bonjour,
cela marche chez moi:
donc : for FIC in `ls /temp/toto* 2>/dev/null |grep -v old` do echo "$FIC" done
C'était bien la redirection qui était mauvaise. Merci encore
Pas que, il y a aussi le fait que tu utilises l'operator de decoupage ("split" dans d'autres languages) sans specifier le separateur (la valeur par defaut est "space", "tab" ou "newline" alors que tu veux decouper l'output de grep selon les sauts de ligne seulement), tu utilises l'operateur de globbing sur le resulat de grep, (du demande au shell d'"expander" les "wildcards" dans les mots resultat de ce decoupage), tu ne passes pas le "-d" a ls (et ls est inutile ici).
set +f # activer le globbing pour toto* resultat=`ls -d /temp/toto*`
IFS=' ' # utiliser seulement <newline> comme separateur set -f # desactiver le "globbing" for FIC in $resultat; do printf '%sn' "$FIC" done
De cette maniere, on n'a pas de surprise avec les noms de fichiers inhabituels.
-- Stephane
On 2 Mar 2006 06:32:05 -0800, ozzii wrote:
Bonjour,
cela marche chez moi:
donc :
for FIC in `ls /temp/toto* 2>/dev/null |grep -v old`
do
echo "$FIC"
done
C'était bien la redirection qui était mauvaise.
Merci encore
Pas que, il y a aussi le fait que tu utilises l'operator de
decoupage ("split" dans d'autres languages) sans specifier le
separateur (la valeur par defaut est "space", "tab" ou "newline"
alors que tu veux decouper l'output de grep selon les sauts de
ligne seulement), tu utilises l'operateur de globbing sur le
resulat de grep, (du demande au shell d'"expander" les
"wildcards" dans les mots resultat de ce decoupage), tu ne
passes pas le "-d" a ls (et ls est inutile ici).
set +f # activer le globbing pour toto*
resultat=`ls -d /temp/toto*`
IFS='
' # utiliser seulement <newline> comme separateur
set -f # desactiver le "globbing"
for FIC in $resultat; do
printf '%sn' "$FIC"
done
donc : for FIC in `ls /temp/toto* 2>/dev/null |grep -v old` do echo "$FIC" done
C'était bien la redirection qui était mauvaise. Merci encore
Pas que, il y a aussi le fait que tu utilises l'operator de decoupage ("split" dans d'autres languages) sans specifier le separateur (la valeur par defaut est "space", "tab" ou "newline" alors que tu veux decouper l'output de grep selon les sauts de ligne seulement), tu utilises l'operateur de globbing sur le resulat de grep, (du demande au shell d'"expander" les "wildcards" dans les mots resultat de ce decoupage), tu ne passes pas le "-d" a ls (et ls est inutile ici).
set +f # activer le globbing pour toto* resultat=`ls -d /temp/toto*`
IFS=' ' # utiliser seulement <newline> comme separateur set -f # desactiver le "globbing" for FIC in $resultat; do printf '%sn' "$FIC" done
De cette maniere, on n'a pas de surprise avec les noms de fichiers inhabituels.
-- Stephane
Jean-Marc DURO
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a pas de fichier dont le nom commence par "a" ou "b" dans le repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je ne m'y attendais pas. Juste une précision: la présence ou l'absence du warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire.
Cordialement
Jean-Marc
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a
pas de fichier dont le nom commence par "a" ou "b" dans le
repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je
ne m'y attendais pas. Juste une précision: la présence ou l'absence du
warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a
demandé si je voulais effacer le fichier avant de le faire.
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a pas de fichier dont le nom commence par "a" ou "b" dans le repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je ne m'y attendais pas. Juste une précision: la présence ou l'absence du warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire.
Cordialement
Jean-Marc
lhabert
Jean-Marc DURO :
Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire.
Tu aurais pas un « alias rm='rm -i' » ?
Jean-Marc DURO :
Chez moi, il m'a demandé si je voulais effacer le fichier avant de le
faire.
Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire.
Tu aurais pas un « alias rm='rm -i' » ?
Stephane Chazelas
On Fri, 03 Mar 2006 12:05:57 +0100, Jean-Marc DURO wrote:
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a pas de fichier dont le nom commence par "a" ou "b" dans le repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je ne m'y attendais pas. Juste une précision: la présence ou l'absence du warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire. [...]
Ca, c'est parce que tu as un alias pour rm qui fait en fait rm -i, ou que tu n'as pas les permissions d'ecritures sur le fichier. Dans tous les cas, c'est rm qui fait ca, pas le shell.
-- Stephane
On Fri, 03 Mar 2006 12:05:57 +0100, Jean-Marc DURO wrote:
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a
pas de fichier dont le nom commence par "a" ou "b" dans le
repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je
ne m'y attendais pas. Juste une précision: la présence ou l'absence du
warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a
demandé si je voulais effacer le fichier avant de le faire.
[...]
Ca, c'est parce que tu as un alias pour rm qui fait en fait rm
-i, ou que tu n'as pas les permissions d'ecritures sur le
fichier. Dans tous les cas, c'est rm qui fait ca, pas le shell.
On Fri, 03 Mar 2006 12:05:57 +0100, Jean-Marc DURO wrote:
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a pas de fichier dont le nom commence par "a" ou "b" dans le repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je ne m'y attendais pas. Juste une précision: la présence ou l'absence du warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire. [...]
Ca, c'est parce que tu as un alias pour rm qui fait en fait rm -i, ou que tu n'as pas les permissions d'ecritures sur le fichier. Dans tous les cas, c'est rm qui fait ca, pas le shell.
-- Stephane
Jean-Marc DURO
Jean-Marc DURO :
Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire.
Tu aurais pas un « alias rm='rm -i' » ?
Bingo ! C'est bien le cas en effet.
Merci
Jean-Marc DURO :
Chez moi, il m'a demandé si je voulais effacer le fichier avant de le
faire.
Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire.
Tu aurais pas un « alias rm='rm -i' » ?
Bingo ! C'est bien le cas en effet.
Merci
Jean-Marc DURO
On Fri, 03 Mar 2006 12:05:57 +0100, Jean-Marc DURO wrote:
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a pas de fichier dont le nom commence par "a" ou "b" dans le repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je
ne m'y attendais pas. Juste une précision: la présence ou l'absence du warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire. [...]
Ca, c'est parce que tu as un alias pour rm qui fait en fait rm -i, ou que tu n'as pas les permissions d'ecritures sur le fichier. Dans tous les cas, c'est rm qui fait ca, pas le shell.
C'est ça en effet. Merci
On Fri, 03 Mar 2006 12:05:57 +0100, Jean-Marc DURO wrote:
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a
pas de fichier dont le nom commence par "a" ou "b" dans le
repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je
ne m'y attendais pas. Juste une précision: la présence ou l'absence du
warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a
demandé si je voulais effacer le fichier avant de le faire.
[...]
Ca, c'est parce que tu as un alias pour rm qui fait en fait rm
-i, ou que tu n'as pas les permissions d'ecritures sur le
fichier. Dans tous les cas, c'est rm qui fait ca, pas le shell.
On Fri, 03 Mar 2006 12:05:57 +0100, Jean-Marc DURO wrote:
Avec les shells autres que zsh (et (t)csh)
rm [ab]*
Effacera un fichier appelé "[ab]*" sans aucun warning s'il n'y a pas de fichier dont le nom commence par "a" ou "b" dans le repertoire courant.
Je viens de vérifier ceci sur ksh sous AIX 4.3.3. Merci pour l'info, je
ne m'y attendais pas. Juste une précision: la présence ou l'absence du warning dépend d'un paramétrage que j'ai oublié. Chez moi, il m'a demandé si je voulais effacer le fichier avant de le faire. [...]
Ca, c'est parce que tu as un alias pour rm qui fait en fait rm -i, ou que tu n'as pas les permissions d'ecritures sur le fichier. Dans tous les cas, c'est rm qui fait ca, pas le shell.