logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Bash : les tableaux

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Tableaux

Attention, les tableaux ne respectent pas la norme POSIX : http://hyperpolyglot.org/shell

tableau littéral nums=(1 2 3 4)
taille du tableau ${#nums[@]}
recherche ${nums[0]}
modification de tableau nums[1]=5
tranche de tableau
concatenation a=(1 2 3)
b=(4 5 6)
c=(${a[@]} ${b[@]})
itération
for i in ${nums[@]}
do echo $i
done

Pour des explication et des exemples : script_bash : les tableaux ;-)

Tableau et itération for

Pré-requis : avancee

#!/bin/bash
tableau=(un deux trois quatre)
for indice in "${!tableau[@]}";
   do
   echo ${tableau[$indice]};
   done
un
deux
trois
quatre

Exemple : changer les noms de tous les fichiers d'un répertoire

  • Lancer le script "scriptx" et lui donner, par exemple, le nom “renommf”.
  • Copier dans “renommf” ceci :
#!/bin/bash
set +eu
cd /home/hypathie/DirTest/
fichiers=( $(ls) )
echo ${fichiers[@]}
 
# parcourir tous les paramètres du tableau avec une boucle
 
for i in "${fichiers[@]}"
do
   echo "$i"
# changer les paramètres du tableau (=noms des fichiers)
  mv "$i" "$i.txt"
  echo "$i.txt"
 
done
  • créer un dossier nommé par exemple “DirTest” contenant plusieurs fichiers :
mkdir ~/DirTest && cd ~/DirTest && touch Janvier Fevrier Mars Avril Mai Juin && cd ~
  • Puis lancer le script “renommf” :
renommf
Avril Fevrier Janvier Juin Mai Mars
Avril
Avril.txt
Fevrier
Fevrier.txt
Janvier
Janvier.txt
Juin
Juin.txt
Mai
Mai.txt
Mars
Mars.txt

Tuto précédent

La suite c'est là

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/programmation/shells/page-man-bash-v-les-tableaux.1404668269.txt.gz · Dernière modification: 06/07/2014 19:37 par captnfab

Pied de page des forums

Propulsé par FluxBB