Essaie de remplacer les [ ] autour du print par des { }
et tu verras que cela va beaucoup mieux...!
Réponse du shell apèrs correction :
awk: cmd. line:2: fatal: cannot open file `/etc/cleantab' for reading
(Aucun fic
hier ou répertoire de ce type)
Il ne trouve pas le fichier cleantab dans /etc, normal, je n'en ai
pas.
Philippe.
Jean Paul Bachelot a écrit :
> J'ai copié le script "cleaner" dans Linux + n°9 page 40, et j'ai une
> erreur dans la partie
> suivante :
>
> # lire chaque entrée dans la cleantab
> # et conserver seulemennt les 200 derniéres lignes
> # de chaque fichier
> for fichier in $(awk '[ print $0 ]' /etc/cleantab)
> do
> tail -lines=200 $fichier >$temporaire
> cat <$temporaire >$fichier
> done
>
> Quand j'exécute le programme ainsi écrit , la réponse est :
>
> [root@localhost init.d]# /etc/rc.d/init.d/cleaner
> awk: cmd. line:1: [ print $0 ]
> awk: cmd. line:1: ^ parse error
>
> Et bien sûr je ne comprends pas ce qu'il veut me dire !
> J'ai, sans succés, dans [ print $0 ] :
> - changé les formats de parenthéses
> - éliminé les espaces
> Les apostrophes de la commande awk sont bonnes : j'avais eu une erreur
> et, rectification
> faite, elle a disparue.
>
> Merci d'avance, JPB