[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux-team] Twist avec cut



Jean-Francois Straeten wrote:
> 
> Hello world,
> 
> Un truc bizarre...
> 
> Quand je fais ça :
> 
> ---------------------------
> 
> jfs@amd:/home/jfs/dossiers/cljb/2 > pwd|cut -d/ --output-delimiter "" -f5,6
> cljb2
> 
> le shell répond correctement.

Pas du tout, c'est une illusion :)
en fait il répond cljb(null byte)2
cf   pwd|cut -d/ --output-delimiter "" -f5,6 | od -c 

> ----------------------------
> 
> Par contre, si j'affecte cette commande à une variable, puis que je demande
> son contenu :
> 
> ----------------------------
> jfs@amd:/home/jfs/dossiers/cljb/2 > S=`pwd|cut -d/ --output-delimiter "" -f5,6`
> jfs@amd:/home/jfs/dossiers/cljb/2 > echo $S
> cljb
> ----------------------------
> 
> le numéro fout le camp ?!? :-#

Parce que le sub-shell interprete le null-byte comme une fin de fichier,
je crois.

> 
> J'ai résolu le problème en faisant deux cut successifs au lieu d'un, et avec
> deux variables, mais sans comprendre ce que je fais de travers dans ce
> cas-ci ?
> (J'ai essayé avec des parenthèses au lieu des quotes inverses, c'est kif.)

essaye ceci
pwd|cut -d/ -f5,6|tr -d /      (attention au blanc entre le 2e -d et le
'/')

> 
> --
> 
> J.-F. STRAETEN
> 
> ---

-- 
Didier

[ linux-team@rtfm.be and linux@lists.linuxbe.org in ONE :)         ]
[ To subscribe or unsubscribe, go to http://linuxbe.org/ml.php     ]
[ http://LinuxBe.org - http://OpenBe.net - listmaster@linuxbe.org  ]