Traitement de fichiers, automatisation de macro
Lilsaure
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je vous explique la situation : je dispose de 200 fichiers environ. Je voudrais écrire un script shell qui me permette d'automatiser le post traitement. En fait, je voudrais que mon script se compose comme :
- étape 1 : renommer le fichier source
J'ai des fichiers commençant par vol_n#xxxxx_ ... et je voudrais les renommer en volxxxx.plt
- étape 2 : appliquer la macro que j'ai créée
Pour cela je tape la commande : tec360.exe nomdufichier nomdelamacro
Mais je voudrais pouvoir boucler cette commande sur tous les fichiers du repertoire et fermer l'application tecplot une fois le traitement terminé
- étape 3 : lors de la macro, une image est exportée. Je voudrais la renommer du nom du fichier volxxxx auquel elle correspond.
Je n'ai jamais fait de programmation sous unix, et on me demande de sortir toutes ces images. A part le faire manuellement, je ne suis pas capable d'écrire le script shell. Pourriez vous m'aider s'il vous plait ?
Voici ce que j'ai écrit pour le moment :
#!/bin/sh
mv vol_n#00001300_t#.13000000000E+02.cpr.plt vol1300.plt
tec360.exe vol1300.plt traitement.mcr
mv export.bmp vol1300.bmp
Ceci n'est valable que pour un seul fichier alors que je voudrais traiter l'ensemble des fichiers, et le script ne semble pas fonctionner ...
Je vous explique la situation : je dispose de 200 fichiers environ. Je voudrais écrire un script shell qui me permette d'automatiser le post traitement. En fait, je voudrais que mon script se compose comme :
- étape 1 : renommer le fichier source
J'ai des fichiers commençant par vol_n#xxxxx_ ... et je voudrais les renommer en volxxxx.plt
- étape 2 : appliquer la macro que j'ai créée
Pour cela je tape la commande : tec360.exe nomdufichier nomdelamacro
Mais je voudrais pouvoir boucler cette commande sur tous les fichiers du repertoire et fermer l'application tecplot une fois le traitement terminé
- étape 3 : lors de la macro, une image est exportée. Je voudrais la renommer du nom du fichier volxxxx auquel elle correspond.
Je n'ai jamais fait de programmation sous unix, et on me demande de sortir toutes ces images. A part le faire manuellement, je ne suis pas capable d'écrire le script shell. Pourriez vous m'aider s'il vous plait ?
Voici ce que j'ai écrit pour le moment :
#!/bin/sh
mv vol_n#00001300_t#.13000000000E+02.cpr.plt vol1300.plt
tec360.exe vol1300.plt traitement.mcr
mv export.bmp vol1300.bmp
Ceci n'est valable que pour un seul fichier alors que je voudrais traiter l'ensemble des fichiers, et le script ne semble pas fonctionner ...
A voir également:
- Traitement de fichiers, automatisation de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Explorateur de fichiers - Guide
- Ce traitement de texte gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
3 réponses
bonjour,
Une observation : tu es sûr que ton programme tec360.exe fonctionne sous linux ? .exe est une extension utilisée pour windows, normalement.
Une observation : tu es sûr que ton programme tec360.exe fonctionne sous linux ? .exe est une extension utilisée pour windows, normalement.
En fait, je passe par Putty pour me connecter sur un autre ordinateur. Quand je tape la commande tec360.exe nomdufichier nomdelamacro la macro tecplot s'exécute bien sur le fichier précisé
hello
d'abord tester le rename, enlever le -n si c'est ok
la boucle, enlever les echo si c'est ok
faire une sauvegarde avant
d'abord tester le rename, enlever le -n si c'est ok
la boucle, enlever les echo si c'est ok
faire une sauvegarde avant
rename -n 's/_n#0*//; s/_.*$/.plt/' *.plt
#et après :
for F in *.plt; do
echo tec360.exe $F traitement.mcr
echo mv export.bmp $(basename $F .plt).bmp
done
Bonjour,
Je vous remercie pour votre réponse ! J'ai tout d'abord essayé la ligne avec la commande rename, mais j'ai eu le retour suivant "-bash: rename: commande introuvable". J'ai donc essayé de remplacer rename par "mv" pour renommer mais j'obtiens cette fois" mv: la cible « vol_n#00001000_t#.10000000000E+02.cpr.plt » n'est pas un répertoire" Pensez vous que la commande mv n'est pas celle qu'il faut ?
Merci beaucoup pour votre temps
Je vous remercie pour votre réponse ! J'ai tout d'abord essayé la ligne avec la commande rename, mais j'ai eu le retour suivant "-bash: rename: commande introuvable". J'ai donc essayé de remplacer rename par "mv" pour renommer mais j'obtiens cette fois" mv: la cible « vol_n#00001000_t#.10000000000E+02.cpr.plt » n'est pas un répertoire" Pensez vous que la commande mv n'est pas celle qu'il faut ?
Merci beaucoup pour votre temps