Récupérer les 3 premiers caractères du nom du
szcz2007
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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.
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.
Configuration: Windows XP Internet Explorer 6.0
8 réponses
-
Salut,
$ var="bonjour" $ echo ${var:0:3} bon;-))
-
Salut,
attention où tu mets les accolades
echo {$var:0:1} - incorrect, c'est ${}echo ${var:0:1}--
lami20j -
Au secours !!
dans le script j'ai :
var="papa"
echo ${var:0:1}
résultat
${var:0:1}: bad substitution -
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.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
mettre
#!/bin/bash
en première ligne -
[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]$;-))
-
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}