Récupérer les 3 premiers caractères du nom du

szcz2007 -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Il faut que j'écrive un script en SHELL.
comment je peux faire pour récupérer les 3 premiers caractères du nom du fichier que je dois lire.
A voir également:

8 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,
$ var="bonjour"
$ echo ${var:0:3}
bon
;-))
1
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

attention où tu mets les accolades

echo {$var:0:1} - incorrect, c'est ${}
echo ${var:0:1} 
--
lami20j
0
szcz2007 Messages postés 3 Statut Membre
 
Au secours !!
dans le script j'ai :
var="papa"
echo ${var:0:1}


résultat
${var:0:1}: bad substitution
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Re-

Essaye alors :
expr "$var" : '\(...\)'
Tu veux récupérer 1 ou 3 caractères ?
Affiches-nous ton script en entier s'il te plaît, merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
szcz2007 Messages postés 3 Statut Membre
 
Voici mon script, je dois afficher les 3 caractères mais j'ai compris le principe...par contre j'ai pas tout compris pour la ligne de commande expr "$var" : '\(...\)' ==> ?
J'ai eu 30 mn de formation sur le shell...alors je suis un peu perdu...
merci pour votre aide...


if [ $nbfichier -ne 0 ]
then
for Fic in `ls R*`
do
echo "fichier trouvé ==>$Fic"
var="papa"
echo ${var:0:3}
exit 0
done
else
echo "Fichier $Fic NON PRESENT"
echo "nb fichier : $nbfichier"
exit 16
fi
0
dubcek Messages postés 19021 Statut Contributeur 5 639
 
mettre
#!/bin/bash
en première ligne
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
[tmpfs]$ ls -1

Robert.txt
Roger.txt
Romain.txt
rose.txt
Roxane.txt
roxy.txt

[tmpfs]$ for fich in $(ls R*);do echo "${fich} => ${fich:0:3}";done

Robert.txt => Rob
Roger.txt => Rog
Romain.txt => Rom
Roxane.txt => Rox

[tmpfs]$
;-))
0
szcz2007 Messages postés 3 Statut Membre
 
j'ai un peu de mal :
j'ai du louper un truc
j'ai écrit dans mon script :
var="papa"
echo {$var:0:1}

résultat = {papa:0:1}
-1