Automator Textedit

Astronight

Membre confirmé
12 Décembre 2010
66
1
Bonjour j'ai un petit texte( c'est des <i>) à supprimer sur une centaine de fichiers textedit.

J'ai fait le tour d'automator mais je n'arrive pas à trouver comment faire.
Il n'y a pas la fonction remplacer dans Automator...
quelqu'un pourrait m'aider? Merci
 
Bonjour.

http://sw.ixoft.com/texfinderx/

Il doit y avoir bien d'autres solutions, mais c'est un freeware tout simple et il marche bien : on sélectionne les fichiers/dossiers, on saisit le texte à rechercher/remplacer (à remplacer par rien, si l'on veut supprimer) et il fait le travail. Il a même des fonctions avancées assez puissantes pour rechercher/remplacer plusieurs extraits en une seule passe.

:zen:
 
MERCI! C'est exactement ce qu'il me fallait!
Remplacer en 1 clin d'oeil sur 10 000 fichiers,


Mais je maintiens ma question, si par exemple je Telecharge un nouveau fichier, je veux remplacer "<i>" par rien (soit le supprimer). Est-il possible de le faire par une quelquonque action de dossier?
Je le glisse dans le dossier par exemple et c'est bon ce que je voulais remplacer a été remplacé..!:confused::zen:
 
Je vois qu'on a de l'ambition... ;)

À mon humble avis, seul un script assez complexe peut réaliser cela. Et ce n'est pas du tout ma partie. Il faudrait qu'un Seigneur du script s'intéresse à ce cas.

Edit :

Ceci dit, allons donc jeter un coup d'oeil sur TextSoap, cela en vaut peut-être la peine.
 
Bonsoir,

Mais je maintiens ma question, si par exemple je Telecharge un nouveau fichier, je veux remplacer "<i>" par rien (soit le supprimer). Est-il possible de le faire par une quelquonque action de dossier?
Oui c'est très simple.

Ce script AppleScript est écrit pour être utilisé comme action de dossier.
Bloc de code:
on adding folder items to this_folder after receiving these_items
	repeat with i in these_items
		if (i as string) ends with ".txt" then
			set tFile to quoted form of POSIX path of i
			do shell script "/usr/bin/perl -i -p -e 's/<i>//g;' " & tFile
		end if
	end repeat
end adding folder items to
Dans cet exemple, seuls les fichiers .txt seront traités.


Note du modo : mais &#8230; Si vous souhaitez approfondir cette voie, vous devrez pour ça aller ouvrir un topic dans le forum "Développement sur Mac", car si les actions "Automator" relèvent du forum qui traite de l'application visée par le processus, il n'en va pas de même des scripts AppleScript. :zen:
 
Merci beaucoup à vous deux,
Par contre, j'ai essayé textsoap. Il n'a pa vraiment l'air de marcher.

En ce qui concerne Mac_jac, Merci pour ton script automator, mais justement je souhaiterait modifier des fichiers Srt!

Est)il possible de modifier ton scrit pour y arriver?

Merci

Edit : J'ai essayé de remplacer le .txt en .srt mais ca n'a pas l'air de marcher
Edit 2: Modérateur, vu que le sujet dérive sur des applescripts, pouvez vous le déplacer dans la catégorie appropriée?
 
Et moi qui ai fait un mini programme en C++, en ligne de commande pour virer les tags des srt, je me demande maintenant si ce n'était pas plus simple avec un AppleScript
 
C'est exactement ce que je disais. Quand un problème semble insoluble, il y a toujours un as du script qui débarque avec une solution. :zen:
 
Bonjour,

En ce qui concerne Mac_jac, Merci pour ton script automator, mais justement je souhaiterait modifier des fichiers Srt!
Oui il faut modifier par ".srt"
Le script n'est pas écrit pour être utilisé dans Automator.

Ouvre l'application "Éditeur AppleScript" ou "Éditeur de Scripts".
Copie/colle le script dans la fenêtre

Enregistre-le au format Script dans le dossier "Folder Action Scripts" du dossier "Scripts" du dossier "Bibliothèque"

- Active les actions de dossier
- Joins le script au dossier concerné
Voir l'aide Mac pour plus d'informations concernant les deux derniers points

---------- Nouveau message ajouté à 11h54 ---------- Le message précédent a été envoyé à 11h43 ----------

Bonjour,

Et moi qui ai fait un mini programme en C++, en ligne de commande pour virer les tags des srt, je me demande maintenant si ce n'était pas plus simple avec un AppleScript
Je ne sais pas, je ne connais pas le C++ pour faire un programme.
Mais pour moi :), je peux l'écrire en perl :rateau:
 
Exellente technique Mac_jac ! Merci
Il marche tres bien ! Juste un petit Défault, Il m'a tout supprimé ^^' tout le fichier Srt.

J'ai suivi tes conseils, J'ai cree ces 2 scripts
Bloc de code:
on adding folder items to this_folder after receiving these_items
	repeat with i in these_items
		if (i as string) ends with ".srt" then
			set tFile to quoted form of POSIX path of i
			do shell script "/usr/bin/perl -i -p -e 's/<i>//g;' " & tFile
		end if
	end repeat
end adding folder items to

et
Bloc de code:
on adding folder items to this_folder after receiving these_items
	repeat with i in these_items
		if (i as string) ends with ".srt" then
			set tFile to quoted form of POSIX path of i
			do shell script "/usr/bin/perl -i -p -e 's/</i>//g;' " & tFile
		end if
	end repeat
end adding folder items to

Afin de supprimer les <i> et </i> mais voila comme je vous l'ai dis, quand je glisse le fichier srt, tout est supprimé..
Comment pourrais-je modifier le(s) script(s)
:zen:
 
Bonjour,

Exellente technique Mac_jac ! Merci
Il marche tres bien ! Juste un petit Défault, Il m'a tout supprimé ^^' tout le fichier Srt.
Afin de supprimer les <i> et </i>
Oui, c'est normal puisque la syntaxe n'est pas correcte.

La barre oblique est un caractère réservé, il faut l'échapper par la barre oblique inversée ( une fois dans un fichier shell --> \/, deux fois dans un AppleScript --> \\/)

Voici le script, aucun besoin d'avoir deux scripts pour faire ça.
Bloc de code:
on adding folder items to this_folder after receiving these_items
	repeat with i in these_items
		if (i as string) ends with ".srt" then
			set tFile to quoted form of POSIX path of i
			do shell script "/usr/bin/perl -i -p -e 's/<\\/?i>//g;' " & tFile
		end if
	end repeat
end adding folder items to

\\/? Le point d'interrogation veut dire zéro ou une occurrences de la barre oblique dans le texte recherché.

Voir ce site pour plus d'informations sur les Expressions régulières

Tout peut se faire dans un seul do shell script
Voici un exemple qui supprime les <i>, </i> et le texte jhjhkhkhk
Bloc de code:
do shell script "/usr/bin/perl -i -p -e 's/<\\/?i>//g;s/jhjhkhkhk//g;' " & tFile
il faut séparer les commandes par un point-virgule
 
Merci beaucoup!
Ca marche vraiment super bien maintenant!
Et sympa le "?" qui permet de compacter les <i> et </i> en une seule expression^^'