Luis Rodrigo Gallardo Cruz: En ese Maildir deposito todos los correos entrantes de TODOS los usuarios. Con la opcion del postfix, /etc/postfix/main.cf: recipient_bcc_maps = hash:/etc/postfix/recipient_bcc # Contenido de # /etc/postfix/recipient_bcc user1@domain.tlc backup@domain.tlc user_3@domain.tlc backup@domain.tlc user_yo@domain.tlc backup@domain.tlc /home/backups/Maildir/new/11118888.3454737.domain.tlc //Este contiene for <user1@domain.tlc> /home/backups/Maildir/new/11345345.3734545.domain.tlc //Este contiene for <user_3@domain.tlc> /home/backups/Maildir/new/13453458.3734435.domain.tlc //Este contiene for <user_yo@domain.tlc> Al hacer: ========= # zcat backup.tar.gz | grep -a user_3 Me devuelve las filas del archivo que contienen for <user_3@domain..tlc> from:<user@yahoo.com> Mas no el nombre del archivo que es lo que se quiere. # zcat backup.tar.gz | tar -t Devuelve toda la lista de archivos es decir: 11118888.3454737.domain.tlc 11345345.3734545.domain.tlc 13453458.3734435.domain.tlc Lo que deseo es lo siguiente # zcat backup.tar.gz | tar -t | grep -a user_3 y me devuelva: 11345345.3734545.domain.tlc Para extraer solo ese archivo. Pero al parecer grep no busca dentro de los archivos. He modificando las opciones de grep -a -l -V, nada: Salida Standar, No se puede leer cabeceras de archivo binario, tar: Read 5849 bytes from - tar: Esto no parece un archivo tar tar: Saltando a la siguiente cabecera tar: -: No se encuentra en el archivo tar: Salida con error demorada desde errores anteriores etc, etc
On Fri, Mar 23, 2007 at 06:29:54PM -0500, Renzo Portocarrero wrote:# zcat backup50GB.tar.gz | tar -tf - | xargs grep -al user // retorna cero files. Que fue generado por: tar cvfz bigfile50GB.tar.gz /home/backups/Maildir/No entiendo muy bien que quieres obtener. tar -t regresa la lista de nombres de archivo contenidos en el tar. Supongamos que el resultado es (por poner un ejemplo)archivo1 dir1 dir1/archivo2 entonces | xargs grep user es equivalente a grep user archivo1 dir1 dir1/archivo2 lo cual va a intentar hacer un grep sobre esos archivos *buscandolos en el sistema de archivos,* no dentro del tar Si lo que quieres es sacar la lista de los archivos cuyo nombre contiene 'user', quita el xargs de ahí. Si lo que quieres es sacar del tar el archivo que se llama 'user' utiliza tar -xf - user en este caso, toma en cuenta que tar busca el nombre completo, no fragmentos, así que probablemente tienes que decir más bien algo como tar -xf - home/backups/Maildir/user