AppleScript pour rechercher & remplacer les ensembles de la chaîne de caractères dans un fichier sélectionné
Je veux utiliser AppleScript pour rechercher et remplacer du texte dans un document choisi. Le texte que je veux remplacer sera toujours le même, je tiens donc à définir certaines variables prédéfinies avec cette chaîne, recherche dans le document choisi pour cette chaîne, et de la remplacer par une autre chaîne prédéfinie. Je tiens à répéter ce rechercher et remplacer traiter environ 4 fois (à la recherche pour les différentes variables de chaîne à chaque fois) pour ce seul document. Une fois que ceci est fait, je veux enregistrer automatiquement le document modifié.
quelqu'un peut-il me fournir un script simple pour faire cela? c'est que j'ai jusqu'à présent...
tell application "Finder"
set theFile to (open for access (choose file with prompt "Select a file to read:"))
set txt to (read theFile for (get theFile))
end tell
on replaceText(find, replace, subject)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to find
set subject to text items of subject
set text item delimiters of AppleScript to replace
set subject to "" & subject
set text item delimiters of AppleScript to prevTIDs
return subject
end replaceText
get replaceText("lorem", "ipsum", txt)
le problème est qu'il est impossible de lire tout le contenu du fichier (.html). d'un lorem ipsum paragraphe, il est seulement la lecture
"ipsum ipsum dolor sit amet, consectetur adipisicing elit, sed do eius"
j'ai essayé en utilisant des expressions du folklore dans l' (get theFile) mais qui ne fonctionne pas, soit
OriginalL'auteur Kerron | 2011-09-11
Vous devez vous connecter pour publier un commentaire.
Yup. 🙂
Un rapide avertissement à propos de ce script, cependant. Si vous deviez remplacer chaque occurence du mot
one
avec le mottwo
dans un document contenant cette chaîne......ce serait votre résultat...
Autre que cela, il n'y a pas de quoi s'inquiéter.
Bon codage! 🙂
Parchemin Essayer
open this_document using (path to application "TextEdit")
nope. toujours pas à la faire remplacer le texte et enregistrez le fichier.
Parchemin Cela fonctionne pour moi quand je le lance. Je pense que votre problème est que vous êtes modifiant le code que je vous ai donné. Ne pas le faire, sauf si vous êtes absolument sûr que vous savez ce que vous faites. La raison que votre code ne fonctionne pas c'est que vous êtes en déclarant la variable txt dans le dire à bloc. Cela signifie que vous ne pouvez pas l'utiliser n'importe où ailleurs. Ainsi, lorsque vous appelez
get replaceText("lorem", "ipsum", txt)
,txt
est pas défini.OriginalL'auteur fireshadow52