Recientemente convertí ~30 GB de archivos .pst antiguos de Outlook en archivos de texto usando la herramienta readpst .
La herramienta crea un nuevo directorio para cada hilo de correo electrónico, dentro del cual coloca un archivo de texto (para el texto asociado con el hilo) y cualquier archivo adjunto.
Esto me ha permitido encontrar archivos adjuntos rápidamente, pero ahora me gustaría poder buscar rápidamente las muchas decenas de miles de archivos de texto (es decir, hilos de correo electrónico) para cadenas de varias longitudes. Usar find
y grep
es demasiado lento, por lo que presumiblemente estoy buscando una forma de indexar los archivos primero.
Estoy basado en Linux y me siento cómodo usando la línea de comandos. Preferiría mantener los datos fuera de línea, en lugar de cargarlos en una herramienta en línea. No tengo acceso a una instancia de Outlook, así que no puedo simplemente cargar los archivos .pst originales.
Finalmente, cualquier herramienta recomendada debe ser de código abierto/gratis.
Uso un programa de Windows llamado Everything, de voidtools.com. No es lo que desea (es solo Windows, y solo nombres de carpetas y archivos), pero es rápido y flexible, así que lo usé como punto de partida para ver qué más estaba disponible. Una búsqueda en Alternativeto.net para Everything, para Linux, da 5 aciertos totales. Buscar en Alternativeto.net
De estos, los 5 son de código abierto. 3 afirman también buscar contenido: Regain, SearchMonkey y Tracker. Un cuarto, Catfish, no tiene claro si busca contenido; se describe como una interfaz de búsqueda.
Editar: creo que el enlace al sitio web de recuperación en alternativo.net está obsoleto. El que encontré que funciona es: Recuperar sitio web Tenga en cuenta que es multiplataforma. Se dice que es muy rápido porque usa un índice. En Windows, tiene que ser instalado. No sé sobre Linux.
El enlace al sitio web de SearchMonkey es: Sitio web de SearchMonkey También es multiplataforma. No requiere instalación en Windows. No parece usar un índice, por lo que puede que no sea más rápido que grep.
No he usado Regain, pero probé SearchMonkey. Parece bien. De nuevo, en Windows.
Edit2 (19/1/16): redescubrí otro programa que había descargado anteriormente, DocFetcher. Hice algunas pruebas en Windows y creo que hace lo que quieres. Es gratuito, de código abierto y multiplataforma. Buscará dentro de los archivos y mostrará el texto sin formato relevante. Admite múltiples tipos de archivos, incluido Outlook pst. Generará un índice, con el control del usuario de la ruta que se indexa, por lo que podría indexar solo su archivo pst. La indexación puede llevar algún tiempo, pero luego es bastante rápida. Necesita Java. Está disponible en: DocFetcher en Sourceforge Su sitio web, también en Sourceforge, está en DocFetcher website . Los comentarios sobre Sourceforge son generalmente muy positivos.
Como estás en Linux y ya usas grep/find, canalicémoslos a xargs y usemos su opción de concurrencia para acelerar las cosas. Dependerá de la cantidad de cómputo que tenga en su máquina, pero debería ser más rápido. Por ejemplo, probablemente estés haciendo algo similar a:
grep -i "<string>" /dir/path
Canalice el comando a xargs y use -n
para indicar cuántos procesos simultáneos desea ejecutar (4 es solo un ejemplo aquí, podría ser 2 o podría ser 200):
grep -i "<string>" /dir/path | xargs -n 4
Acelerará las cosas para ti. Si no está seguro de cuánto acelerará las cosas, puede hacer lo siguiente y comparar los tiempos de finalización:
time grep -i "<string>" /dir/path
time grep -i "<string>" /dir/path | xargs -n 4
xargs -n 4
?No tengo ninguna experiencia en la conversión de archivos PST de Outlook, pero si puede obtener esos correos electrónicos en formato maildir, hay una herramienta excelente llamada notmuch que parece hacer exactamente lo que está pidiendo. Indexará su correo y le permitirá buscarlo rápidamente. Hay varios front-ends y clientes diseñados para trabajar con él también. Lea sobre esto aquí: NotMuchMail.org
readpst
da esencialmente algo parecido a un Maildir. (Las etiquetas que faltan no deben ser un problema si su tarea es buscar).Dado que tiene un sistema operativo adecuado y no le teme a la línea de comandos, ¿podemos suponer que también tiene algunas habilidades de codificación?
Si es así... Solía ejecutar un archivo rojo de un servidor de listas de correo electrónico de temas súper específicos. Ejecutaría trabajos de vez en cuando convirtiendo mbox mail a maildir y un archivo para cada mensaje, luego escanearía los archivos, eliminaría los encabezados y almacenaría un índice de palabras clave en una base de datos mysql.
Puede hacer lo mismo: el archivo individual para cada mensaje está listo, solo necesita escribir el código para 1) realizar un seguimiento del identificador/ubicación del hilo del mensaje que está procesando y 2) insertar todas las palabras en una tabla de base de datos de ID de palabra clave/mensaje usando mysql, mariadb, mongo, lo que sea con lo que te sientas cómodo.
izzy
cibernético