Cut a file into chunks according to a position list and concatenate the chunks. The chunks must not overlap and must be in increasing order.
Use it this way:
cutter positions.csv <datain >dataout
positions.csv must be a comma separated spreadsheet file (CSV),
where the first column contains the chunk beginnings
and the second column contains the pause beginnings.
A pause begins one byte after a chunk ends.
The other columns are ignored and may contain annotations of the chunks.
The positions file may also contain line numbers. In this case you run the command this way:
cutter -l positions.csv <datain >dataout
Example: remove selected attachments from e-mails in mbox file
lsmbox command from http://hackage.haskell.org/package/mbox-utility.