big tarfiles to lex

Posted on 1997-12-01
Medium Priority
Last Modified: 2010-04-21
I've very big tar-files with eMails in it.
My lex-Programm should work with the content of these files.
The Problem: When I pipe it to lex like this:
more tarfile | lexprogram >output
it ends with a broken pipe.
When I try it like this
lexprogram <tarfile >output
the program will abbort after the same time (I guess yywrap stopps the program).
Question by:bodirsky

Expert Comment

ID: 2008170
Hm, shouldn't you first extract your tarfile?

Something like:
cd /tmp/mydir
tar -xf /path/to/my/tarfile.tar
cat * | lexprogram

(The last line should probably be a loop for each of the files if there are really MANY files. The loop depends on the shell).

LVL 51

Accepted Solution

ahoffmann earned 50 total points
ID: 2008171
tar files contain null bytes (0x0). Most lex flaviours treat this as an EOF. Your must take care for them before the default action (.)
Check your lex manual, or switch over to flex (which can handle null bytes ;-)

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
When you do backups in the Solaris Operating System, the file system must be inactive. Otherwise, the output may be inconsistent. A file system is inactive when it's unmounted or it's write-locked by the operating system. Although the fssnap utility…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

586 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question