Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 13/10/2012, à 00:43

Salim86

utiliser un grand nombre de fichier dans une boucle.

Bonjour,

Il s'agit de mon premier post sur le forum. J'ai vraiment utilisé la fonction rechercher pour répondre à ma question : sans succès. Je n'arrive pas à décrire ce que je veux faire.
Ma question peut sembler triviale mais je ne trouve pas de solution pour l'instant. C'est très simple.

Je pars d'un script que j'ai fait et qui fonctionne.

for filename in fichier1 fichier2 fichier 3; do first_flirt $filename ${filename}_to_std_sub -cort

(pour trois fichiers je demande d'exécuter une commende).

Maintenant j'ai 100 fichiers au lieu de 3.

Donc j'aimerai créer un fichier texte avec le nom de mes 100 fichiers et reprendre mon code.

Je n'arrive à faire en sorte que l'ordinateur exécute la commande pour mes 100 fichiers (pour faire le renvoi vers un fichier texte).

Je sais que c'est possible et il me semblait qu'il fallait utiliser "cat" mais je ne suis pas sur.

Merci beaucoup d'avance.

Salim.

Hors ligne

#2 Le 13/10/2012, à 00:50

sputnick

Re : utiliser un grand nombre de fichier dans une boucle.

for i in fichier*; do
    echo "$i" >> new_file
done

Dernière modification par sputnick (Le 13/10/2012, à 00:51)


bashfr.org(random);
<arciks1994> dou tu connai qel age j'ai ?

Hors ligne

#3 Le 13/10/2012, à 10:38

Salim86

Re : utiliser un grand nombre de fichier dans une boucle.

merci beaucoup pour la rapidité de la réponse !

ça répond exactement à la première partie de ma question.

effectivement ce script me permet de mettre dans un fichier new_file tout les fichiers que je veux analyser avec ma commande.

donc la deuxième question est : comment dois-je faire pour appeller cette liste de fichier quand je veux exécuter cette commande.

un truc dans le style de

for filename in new_file ; do first_flirt $filename ${filename}_to_std_sub -cort

Merci beaucoup,
ça fait une semaine que je cherche la réponse à cette question.

Hors ligne

#4 Le 13/10/2012, à 10:45

pingouinux

Re : utiliser un grand nombre de fichier dans une boucle.

Bonjour,

while read filename; do first_flirt "$filename" "${filename}"_to_std_sub -cort; done <new_file

Ajouté :
Ou en cumulant les 2 commandes :

for filename in fichier*; do first_flirt "$filename" "${filename}"_to_std_sub -cort; done

Dernière modification par pingouinux (Le 13/10/2012, à 10:48)

Hors ligne

#5 Le 13/10/2012, à 11:15

Salim86

Re : utiliser un grand nombre de fichier dans une boucle.

Merci beaucoup,

Je ne comprends pas comment j'ai pu ne pas penser à utiliser un wildmask dans mon script. lorsque je le faisais dans le terminal ça ne marchait pas, mais dans le script ça marche.

En tout cas tu m'as beaucoup aidé, merci beaucoup.

Si tu es à paris, je te paye un bière aujourd'hui !

Hors ligne

#6 Le 13/10/2012, à 23:38

sputnick

Re : utiliser un grand nombre de fichier dans une boucle.

wildmask ? Tu veut dire plutôt wildcard je pense.


bashfr.org(random);
<arciks1994> dou tu connai qel age j'ai ?

Hors ligne

#7 Le 14/10/2012, à 01:08

Salim86

Re : utiliser un grand nombre de fichier dans une boucle.

effectivement.

par contre j'ai eu un autre ennui.
je ne sais pas ce qui m'a pris mais j'ai voulu essayer de passer en mode root (pour modifier le bashrc). j'ai fait sudo su et ensuite j'ai ouvert le bashrc.
ensuite j'ai paniqué, je me suis dit que ça me dépassait j'ai fermé le terminal à la hussarde (la croix en haut à droite).

maintenant quand j'essaye de faire marcher une commande de mon logiciel qui a toujours fonctionné je me prends un "permission denied"

est-ce possible que ma manipulation hasardeuse puisse avoir cette conséquence ?

existe-t-il un moyen d'annuler toutes les modifications que j'ai pu faire dans bashrc (j'en avais déjà faites avant mais ça n'avait pas posé de pb) sans réinstaller tout ubuntu (j'ai eu bcp de mal à installer le logiciel dont je me sers).

je dois avoir l'air un peu ridicule, mais je suis vraiment très ennuyé de ce "permission denied" qui m'empêche de finir mon travail.

Merci d'avance,

salim

Hors ligne

Haut de page ↑