[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Suppression des espace devant chaine sous zsh



On Thu, 2003-08-14 at 03:35, Pascal Schneider wrote:
> Bonjour
>  
> Merci pour vos réponses, mais mon problème n'est toujours pas résolu.
>  
> donc je repose le pb.
>  
> je cherche une variable dans un fichier par la commande :
>  
> Fichiers=`grep Fichiers /chemin/test | head -1 | awk '{ $1 = "" ;
> print $0 }'`
>  
> cette commande me retourne un chemin de fichier que j'exploite
> (j'utilise cette commande car le chemin en question contient des
> espaces comme dans "Programs Files" par exemple.
>  
> malheureusement, cette commande renvoie la la variable Fichier avec un
> espace à l'avant (Echo $Fichier donne : ' /Chemin/Chemin1/'Chemin
> Composé'/Chemin2/Fichier*"
> les cotes entre 'Chemin Composé' sont misent en dur pour
> l'exploitation de la variable.
>  
> J'ai essayé toutes vos solutions qui me renvoient invariablement soit
> un espace, soit la Chaine $Fichier, soit le Chemin voulu tronqué de
> tous ses espaces.
>  
> n'existe t'il pas une commande du type Fichier=ltrim($Fichier) qui
> supprimerai les espaces de début de chaine????
>  
> j'ai essayé toute vos solutions par commande directe (traitement après
> la commande ci-dessus) et directement après la commande
>  
> Fichiers=`grep Fichiers /chemin/test | head -1 | awk '{ $1 = "" ;
> print $0 }' | commande`
> rien n'y fait.
>  
> si une bonne âme charitable pouvait me donner une solution concise, je
> lui en serai extrêmement reconnaissant (je vient de passer deux nuit
> blanches à chercher et ne voit pas de lueur d'espoir à mon calvaire)

Si je comprends bien, tu veux eliminer les reponses qui commencent par
un espace. Alors par exemple si ton script retourne:
" 1"
" 2"
" 3"
...
en utilisant sed 's/^ //g', comme mentionne par Bob Berserko tout
dernierement dans une discussion semblabe.

Soit: 
        ` echo $Fichier | sed 's/^ //g' '