Mac OS X : Script pour parser tous les emails de Mail ( format emlx )

75 x served & 13 x viewed

J’ai fait un script ( rapidement, donc un bash et pas du Perl ou du Python) pour parser tous les emails dans Mail, il suffit de mettre ce script sous : /Users/MonLogin/Library/Mail/ .

Le scripts en version V1 :

#!/bin/bash
#
# ARIAS Frederic

compteur=0
erreur=0

chercheFichier() {
   Rep="$1"
   for item in $Rep/*
   do [ -f "$item" ] 
	ext="${item##*.}"
	#echo "$item $ext"
	#if  file -i $item | grep -q text ; then 
		if [ "$ext" = "emlx" ] ; then
			from=`head -40 $item | grep "^From: " | awk -v FS="(<|>)" '{print $2}' | head -1`
		        if [ ! -n "$from" ] ;
				then
				from=`head -40 $item | grep "^From: " | awk -v FS='("|")' '{print $2}' | head -1`
			fi
			date=`head -50 $item | grep "^Date: " | sed 's/Date: //g' | sed 's/.*,//' | head -1`
			if [ ! -n "$date" ] ;
				then
				date=`head -50 $item | grep "^Date: " | head -1`
			fi
			if [ -n "$from" ] ; then
				if [ -n "$date" ] ; then
					compteur=`expr $compteur + 1`			
					echo "$compteur | $from | $date" >> list.txt
					else 
					erreur=`expr $erreur + 1`
					echo "Pas de date : $compteur / $erreur / $from / $item"
					fi
				else 
				erreur=`expr $erreur + 1`
				from=`head -10 $item | grep "^From: " | head -1`
				echo "Pas d'email : $compteur / $erreur / $from / $item"
				fi
			fi
		#fi
      [ -d "$item" ] && chercheFichier "$item"
   done
}
 
[ -d "${1:-.}" ] && chercheFichier ${1:-.}

J’ai fait un test et sur 140.000 emails (en 14 ans) j’ai eu 500 erreurs, le problèmes des erreurs ce sont les emails en binaires. Il faut trouver la bonne limite dans le « head -40 » et « head -50 » afin de n’avoir que l’entête de l’email. Mais le champ « Date » se trouve après le champ « To », qui lors d’un spam est très très long .

A la fin de l’exécution on a une fichier list.txt avec numéro, from, date. Pour le reste il suffit de faire un peu d’Excel :

Les emails c’était 5 heures de travail par jour pour les cadres en 2015 : https://www.usine-digitale.fr/article/les-e-mails-c-est-5-heures-de-travail-par-jour-pour-les-cadres-de-2015.N346564 .

L’idée serait de pouvoir identifié les flux (une cartographie des flux) des emails envoyés et reçus … mais c’est pour la version V2. Et aussi de voir l’évolution des flux dans le temps.

Pour l’instant j’ai trouvé ceci pour les flux : https://rgeomatic.hypotheses.org/415 .

A suivre.

La version V1 bis (moins d’erreur : 200).

#!/bin/bash
# ARIAS Frederic
# Version V1bis
compteur=0
erreur=0

chercheFichier() {
   Rep="$1"
   for item in $Rep/*
   do [ -f "$item" ] 
	ext="${item##*.}"
	#echo "$item $ext"
	#if  file -i $item | grep -q text ; then 
		if [ "$ext" = "emlx" ] ; then
			from=`head -10 $item | grep "^From: " | awk -v FS="(<|>)" '{print $2}' | head -1`
		        if [ ! -n "$from" ] ;
                                then
                                from=`head -40 $item | grep "^From: " | awk -v FS='("|")' '{print $2}' | head -1`
                        fi
			if [ ! -n "$from" ] ;
				then
				from=`head -80 $item | grep "^From: " | awk -v FS='("|")' '{print $2}' | head -1`
			fi
			date=`head -30 $item | grep "^Date: " | sed 's/Date: //g' | sed 's/.*,//' | head -1`
			if [ ! -n "$date" ] ;
				then
				date=`head -70 $item | grep "^Date: " | sed 's/.*,//' | head -1`
			fi
			if [ -n "$from" ] ; then
				if [ -n "$date" ] ; then
					compteur=`expr $compteur + 1`			
					echo "$compteur | $from | $date" >> list.txt
					else 
					erreur=`expr $erreur + 1`
					echo "Pas de date : $compteur / $erreur / $from / $item"
					fi
				else 
				erreur=`expr $erreur + 1`
				from=`head -15 $item | grep "^From: " | head -1`
				echo "Pas d'email : $compteur / $erreur / $from / $item"
				fi
			fi
		#fi
      [ -d "$item" ] && chercheFichier "$item"
   done
}
 
[ -d "${1:-.}" ] && chercheFichier ${1:-.}

echo "Fin du script : $compteur / $erreur "

Migration de Bento vers Tap Form : Première étape

93 x served & 24 x viewed

La premier étape est de connaitre les versions :

  • La version du Mac :
    • A propos de ce Mac : OSX El Captain (dans mon exemple)

  • La version de Bento :
    • A propos de Bento : Bento 3 (dans mon exemple).

  • La dernière étape c’est de faire une sauvegarde au format .bento :
    • Fichier -> Sauvegarder les données de Bento.

 

Le lien vers Tap Forms : https://www.tapforms.com (Le prix est de 54 Euros).

Pour rappel mes précédents POST sur Bento :

A noter que dans les Alternatives, Symphytum n’a pas fait d’effort pour faciliter l’import.

Apple coupe l’App Store intégré à iTunes

50 x served & 10 x viewed

En plus de vendre ses iPhone hors de prix, il supprime des fonctionnalités de iTunes (pour mieux nous pousser vers son Cloud ou plutôt iCloud) … Apple fait tout pour que l’on fuit.

Comme faire la synchronisation de son iPad ou iPhone maintenant ? Afin de pouvoir faire la sauvegarde de ses données.

Si je résume donc la situation :

Il est temps de fuir !

Misère.

 

Installation de Kodi sous Mac

40 x served & 12 x viewed

Pour le téléchargement de Kodi :  https://kodi.tv/download 

Ma version de Mac OS : OS X El Capitan 10.11.6 .

La version de Kodi : Kodi v17.4 « Krypton » (77,8 Mo).

Etape n°1 : Installation du dmg :

Une fois décompressé on passe à 174,9 Mo.

Etape n°2 : Lancement de Kodi.

Pour le premier lancement il faut aller dans Application et faire « Ouvrir » (c’est la sécurité sous Mac, qui bloque les applications).

Etape n°3 : La configuration

Changer la langue et c’est bon pour l’utilisation.

 

 

Awesome Note (by BRID Inc.) ANote : enfin un backup plus ouvert !

80 x served & 21 x viewed

J’avais fait un précédent post sur mon blog : http://www.cyber-neurones.org/2017/01/why-not-use-the-app-awesome-note-by-brid-inc/ pour indiquer que BRID utilisait un format fermé et propriétaire.

Maintenant depuis la nouvelle version le format n’est plus le même, c’est non encrypté et c’est un format plist. Chaque POST est un fichier plist différent. Il faut renommer les fichier .anote en fichier .plist et ensuite utiliser l’outil de conversion :

plutil -convert xml1 fichier.plist

Le fichier plist ce transforme alors en fichier XML avec des balises.

Il va donc être plus facile de faire des imports/exports.

A suivre.

La Release Note de Awesome Note 2 (+To-do/Calendar/Task) :

v8.9.1 (19 mai 2017)
– Fixed the problem that list is not updated when deleting notes.
– Fixed a crash when deleting tag

v8.9.0 (16 mai 2017)
– Added the backup feature for each folder separately
– Added Overwrite feature for backup restoration (Supported from files backed up in v 8.90)
– Added the feature to export and import an Awesome Note file (.anote)
– Added URL handler (URL Scheme) to launch Awesome Note to perform an action from other apps such as Launcher (x-callback-url supported)
Please refer to “Awesome Note Settings > Info/Help > URL Scheme Guide » or “Bridworks.com” for more information, including URL Scheme actions.