J'écris un script pour garder trace des images manquantes dans un rendu (des milliers de fichiers image). pour trouver les images numérotées dans la séquence que je fais ceci:problème de script applescript + shell
set thecontents to every paragraph of (do shell script
"while IFS= read -r -d '' file;
do echo \"$file\"|sed -E \"s|.*[^[:digit:]]0*([[:digit:]]+)\\..*|\\1|\" ;
done< <(find \"" & thefolderPPath & "\" -name \"*.*\" -print0)")
find trouve tous les fichiers et les bandes sed tout, mais le nombre de fuite hors les - il correspond aux chiffres lorsque le fichier sont numérotés comme foo_001.bar (ou même si elles sont foo3_001.bar) il cherche un non chiffre, suivi d'une série de chiffres, suivi d'une extension de point, et éloigne tout sauf les chiffres.
Il travaille dans la coquille, si je lance comme ça (sans les échappements)
while IFS= read -r -d '' file
do echo "$file"|sed -E "s:.*[^[:digit:]]0*([[:digit:]]+)\..*:\1:"
done < <(find "/Volumes/foo/imagesequence/" -name "*.*" -print0)
il produit une belle liste de nombres, mais AppleScript je reçois
« sh: -c: ligne 0: erreur de syntaxe près jeton inattendu `< '
Toutes les idées que je peux le mettre en œuvre avec AppleScript en brisant le sed fonction et la fonction de recherche dans des scripts shell distincts, mais c'est beaucoup plus lent.
Eh bien, qui aurait un thunk? Merci. – stib