web-dev-qa-db-fra.com

répondre automatiquement à la saisie en ligne de commande

En se référant à ceci question , je veux quelque chose d'un peu similaire. L'idée est que j'exécute une commande, puis il demande un nom de fichier à traiter, et après le traitement, il demande le nom de fichier suivant, etc. Le problème que j'ai des milliers de fichiers, je ne peux donc pas les entrer manuellement un par un. Cependant, j'ai un fichier .txt contenant tous les noms de fichiers.

Je voulais donc écrire un script bash qui:

  1. exécuter la commande
  2. quand il demande un nom de fichier, il lit la première ligne du fichier txt
  3. le programme traitera le fichier, puis demandera le suivant
  4. la bash donne la suivante et ainsi de suite

jusqu'à ce que le programme demande un fichier et que le fichier .txt soit déjà terminé, je termine automatiquement

2
Mostafa Hussein

Chaque fois que l'on parle de "milliers de fichiers", je pense immédiatement à xargs (lire man xargs). En supposant que vos noms de fichiers soient simples (ne contenant pas de blancs ni d’autres personnages amusants):

xargs --interactive -n 1 <filenames.txt YourProgram
1
waltinator