Encontré esta solución de Patrick Boettcher <pboettch@github> llamada «libwab – a tool to read Windows Address Book files from the command line» en https://github.com/pboettch/libwab
Debe tener un ambiente de desaroll GNU C listo. Por lo tanto instale:
$ sudo apt install build-essential
Es muy fácil de usar. Simplemente descargue libwab-master.zip y extraiga su contenido en un directorio para este proyecto.
$ mkdir ~/Documents/cpp/libawb $ cd ~/Documents/cpp/libawb $ unzip -j libwab-master.zip Archive: libwab-master.zip 16e5b8a4917f1f273926e93b6aadb17695127ef5 inflating: CMakeLists.txt inflating: COPYING inflating: ChangeLog extracting: INSTALL inflating: README inflating: THANKS inflating: cencode.c inflating: cencode.h inflating: libwab.c inflating: libwab.h inflating: pstwabids.c inflating: pstwabids.h inflating: tools.c inflating: tools.h inflating: uerr.c inflating: uerr.h inflating: wabread.c
Si no tiene cmake instalado, entonces lo debe instalar ahora.
$ sudo apt install cmake [sudo] password for user: Reading package lists... Done Building dependency tree ... After this operation, 24.4 MB of additional disk space will be used. Do you want to continue? [Y/n] y ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... $
Debe correr cmake para configurar el ambiente de desarrollo al que dispone en su máquina.
Entonces corremos:
~/Documents/cpp/libwab$ cmake . -- The C compiler identification is GNU 7.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Configuring done -- Generating done -- Build files have been written to: /home/user/Documents/cpp/libwab ~/Documents/cpp/libwab$
Los mensajes pueden variar en su máquina.
Ahora estamos listos para hacer (make) nuestra aplicación:
~/Documents/cpp/libwab$ make Scanning dependencies of target wabread [ 14%] Building C object CMakeFiles/wabread.dir/cencode.c.o [ 28%] Building C object CMakeFiles/wabread.dir/libwab.c.o [ 42%] Building C object CMakeFiles/wabread.dir/pstwabids.c.o [ 57%] Building C object CMakeFiles/wabread.dir/tools.c.o [ 71%] Building C object CMakeFiles/wabread.dir/uerr.c.o [ 85%] Building C object CMakeFiles/wabread.dir/wabread.c.o [100%] Linking C executable wabread [100%] Built target wabread ~/Documents/cpp/libwab$
El programa es creado en nuestro directorio de proyecto. Puede poner el archivo .WAB allí, y ejecutar el programa. Si mi archivo .WAB se llama my_file.wab entonces ejecutamos lo qiguiente:
~/Documents/cpp/libwab$ ./wabread my_file.wab > my_file.ldif
Convertirá el archivo .WAB a un archivo ldif. Este es un formato simple de texto que es fácil de leer y parsear para cualquier propósito.
Hay un modo heurístico (-h) donde el comando wabread intentará leer registros borrados.
Saludos.