J'ai supprimé ma réponse initiale parce que j'avais mal compris comment le système de gestion de l'information de l'UE était utilisé. +48
Les chiffres ont été ajoutés, désolé.
Au lieu d'utiliser AppleScript, je vais vous proposer une solution différente, car si j'ai pu modifier l'AppleScript d'origine, ce que j'ai fait, je l'ai fait. code pour supprimer le numéro entier qui avait un +48
Néanmoins, des erreurs sont survenues et ont arrêté l'opération. script de s'exécuter complètement pendant la phase de test. J'opte donc pour une solution différente plutôt que de déboguer l'AppleScript code .
Cette solution nécessite d'exporter l'ensemble du contenu de Contacts.app vers un fichier vCard (.vcf), de le modifier à l'aide d'une RegEx dans l'application sed
et ensuite importer le fichier vCard modifié (.vcf) dans Contacts. Notez que cette méthode remplacera tous les contacts existants par le nouveau fichier vCard mis à jour. touscontacts.vcf et ne devrait pas poser de problème, car il ne fait que supprimer les informations que vous avez déclaré vouloir supprimer, mais de manière détournée.
REMARQUE : ces instructions ont été testées sous OS X 10.11.5 avec l'application Contacts.app en utilisant sa version de base. par défaut préférences.
Maintenant que les contacts ont été sauvegardés, procédez comme suit...
-
Sélectionnez le premier contact, puis appuyez sur commandA pour sélectionner tous les contacts.
-
Cliquez : Fichier > Exporter > Exporter vCard
-
Dans la boîte de dialogue Enregistrer sous, il apparaîtra sous la forme suivante, le nom du premier contact et n autres ,
le changer en : allcontacts
-
Copiez et collez les éléments suivants commande dans le Terminal, puis appuyez sur la barre d'espace pour ajouter un espace après.
sed -i.bak -E '/^TEL.*\+48.*$/d'
-
Dans le Finder, faites glisser et déposez le touscontacts.vcf dans la fenêtre du terminal. Notez que dans le Finder, l'icône .vcf peut être cachée et elle s'affichera dans le terminal.
Exemple : sed -i.bak -E '/^TEL.*\+48.*$/d' /Users/me/Documents/allcontacts.vcf
- Maintenant, appuyez sur enter pour modifier le touscontacts.vcf dossier. Une sauvegarde de l'original est créée en tant que : touscontacts.vcf.bak
Importez maintenant la mise à jour touscontacts.vcf dans les contacts.
-
Fichier > Importation et sélectionnez le touscontacts.vcf puis cliquez sur Ouvrir.
-
Sur la page "Êtes-vous sûr de vouloir importer n cartes ?" feuille cliquez : Examiner les doublons
-
Sur l'action suivante feuille sélectionnez Garder le nouveau et cochez la case Appliquer à tous puis cliquez sur Importer.
Les entrées téléphoniques du répertoire contenant des numéros avec un +48
ont été supprimés.
Les lignes cibles dans le touscontacts.vcf aura le modèle suivant et notez que l'exemple ci-dessous n'est pas la seule façon dont il peut se présenter et donc la nécessité d'utiliser un RegEx en dehors des numéros de téléphone eux-mêmes étant différents comme le fichier valeur pour type=
peut également varier.
Exemple de ligne dans le fichier vCard : TEL;type=CELL;type=VOICE:+48 697 107 394
Le RegEx est : ^TEL.*\+48.*$
Explication :
- ^ assert position at the start of the string.
- TEL correspond aux caractères TEL littéralement (sensible à la casse).
- .* correspond à n'importe quel caractère (sauf le saut de ligne). Quantificateur : * Entre zéro et un nombre illimité de fois, autant de fois que possible, en rendant ce qui est nécessaire [gourmand].
- \+ correspond au caractère + littéralement.
- 48 correspond aux caractères 48 littéralement.
- .* correspond à n'importe quel caractère (sauf le saut de ligne). Quantificateur : * Entre zéro et un nombre illimité de fois, autant de fois que possible, en rendant ce qui est nécessaire [gourmand].
- $ assert position at end of the string.
Donc, le sed
commande , sed -i.bak -E '/^TEL.*\+48.*$/d' file
sauvegarde les fichier ( -i.bak
) et supprime toute ligne commençant par TEL
qui contient +48
. Selon la façon dont les lignes sont stockées dans la vCard, les lignes nécessaires à l'accomplissement de la tâche seront supprimées car les lignes commençant par TEL
qui ont +48
dans celles-ci ne peuvent être que les lignes que vous voulez supprimer.
NOTE : Il suppose également que vous n'aviez pas auparavant de numéros avec le +48
avant de mettre à jour vos contacts avec le fichier vCard original qui contenait les numéros avec le préfixe +48
préfixe.