[1. Ce que vous voulez faire](#Ce que vous voulez faire) [2. Introduction au code](# introduction au code) [3. Exemple d'exécution](# Exemple d'exécution) [4. Bonus](# Bonus)
Obtient les données (nom) dans le dossier. Cet article présente un script shell pour les instructions de boucle qui modifient l'extension des fichiers d'un dossier de .txt à .log.
** État actuel du dossier **
Statut avant exécution
$ ls
1.txt 2.txt 3.txt 4.txt 5.txt main.sh
main.sh
#!/bin/sh
for filename in *.txt
do
mv ${filename} ${filename%.txt}.log
done
main.courir sh
sh main.sh
État post-exécution
$ ls
1.log 2.log 3.log 4.log 5.log main.sh
Vous pouvez voir que l'extension .txt a été remplacée par .log.
Vous pouvez également l'utiliser si vous souhaitez numéroter des centaines de milliers de données. Si vous ajoutez une chaîne de caractères au compteur au milieu de la minute, vous pouvez numéroter une grande quantité de données à la fois.
main.sh
#!/bin/sh
cnt=1
for filename in *.txt;
do
mv ${filename} data_${cnt}.log;
#Incrément de la variable cnt
cnt=`expr ${cnt} + 1`
done
État post-exécution
$ ls
data_1.log data_2.log data_3.log data_4.log data_5.log main.sh