C'est compliqué de donner une solution sans trop savoir comment tu appelles ton script. Quand tu appelles ton script, comment fais-tu la différence entre les fichiers et les options que tu souhaites passer à ton programme ? J'ai bien compris que les options sont placées après les fichiers, mais la question est de savoir comment déterminer le point de passage des fichiers aux options.
As-tu déjà déterminer des conventions pour ce point ? (genre toutes les options doivent commencer par --, et j'accepte le fait que ça ne prend pas en compte les noms de fichiers qui commencent par --)
Si tu as des exemples, ce sera plus simple pour comprendre le contexte.
Cela dit, voici une maigre proposition qui part du principe que les arguments qui sont des fichiers qui existent sont passés au grep et les autres arguments sont passés à ton programme.
#!/usr/bin/env bashFILES=()OPTS=()for var in "$@";do[[ -f "$var"]]&&FILES+=("$var")||OPTS+=("$var")doneecho"Fichiers par ordre chronologique: $(ls -rt "${FILES[@]}")"echo"Options pour la commande: ${OPTS[*]}"
Une fois que tu as tes fichiers d'un côté et des options de l'autre, tu peux en faire un peu ce que tu veux (comme trier les fichiers par ordre chronologique).
# Des exemples svp :)
Posté par laurentm . En réponse au message Pas trouver fichier. Évalué à 5.
C'est compliqué de donner une solution sans trop savoir comment tu appelles ton script. Quand tu appelles ton script, comment fais-tu la différence entre les fichiers et les options que tu souhaites passer à ton programme ? J'ai bien compris que les options sont placées après les fichiers, mais la question est de savoir comment déterminer le point de passage des fichiers aux options.
As-tu déjà déterminer des conventions pour ce point ? (genre toutes les options doivent commencer par
--, et j'accepte le fait que ça ne prend pas en compte les noms de fichiers qui commencent par--)Si tu as des exemples, ce sera plus simple pour comprendre le contexte.
Cela dit, voici une maigre proposition qui part du principe que les arguments qui sont des fichiers qui existent sont passés au
grepet les autres arguments sont passés à ton programme.Une fois que tu as tes fichiers d'un côté et des options de l'autre, tu peux en faire un peu ce que tu veux (comme trier les fichiers par ordre chronologique).