2 votes

Utilisez les commandes Linux boucle for execute pour redimensionner un tas de fichiers. Erreurs

J'ai créé ce fichier de commande. Le but est d'exécuter en boucle un groupe de fichiers et de les redimensionner de 8MB à 18MB.

Ces fichiers sont rubbi8.txt , rubbi9.txt , rubbi9.txt , ... rubbi18.txt

Mon script est :

for i in {8..18}
do
  "truncate -s $im rubbi$i.txt"
done

Le résultat est :

./kk3.sh: line 4: truncate -s  rubbi8.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi9.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi10.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi11.txt: command not found

Comment puis-je configurer les arguments de la commande truncate ?

Merci à jvb. Le format correct de la commande est : --->

pour i dans {8..18}
faire
truncate -s ${i}m rubbi${i}.txt
fait

2voto

Matt Joiner Points 1559

Enlevez les guillemets autour de votre commande de troncature et utilisez des crochets courbés ${i} pour indiquer la fin du nom de la variable.

for i in {8..18}
do
  truncate -s ${i}m rubbi${i}.txt
done

1voto

jvb Points 2430

El citations fera truncate -s rubbi8.txt (etc.) le nom de la commande - avec des espaces et des paramètres comme parties du nom du fichier exécutable - qui n'existe pas.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X