[CentOS] Need to split long lines in mail archives

ken gebser at mousecar.com
Mon Apr 9 17:38:25 UTC 2012


Sounds like you need to loop through a bunch of files and process each 
separately... so:

$!/bin/bash

cd /path/to/archives/
for $f in $(find . -name *.html)
do
fmt -s $f > $f.out
mv $f.out $f  # rename back to original name
done

Untested.  But this is basically what you want to do.  And it's a good 
sort of structure to pick up on.  You'll use it often.


hth,
ken

On 04/09/2012 01:09 PM James B. Byrne wrote:
> CentOS-6.2
>
> I am investigating how to split long lines present in a
> Mailman generated html archives.  Mailman places the email
> bodies within<pre></pre>  tags and some users have MUAs
> that send entire paragraphs as one long line.
>
> I have looked at fmt and fold but these assume a pipeline
> from stdout to a fixed filename, which presumably is best
> done at the time of the original file's creation.  I am
> looking for a way to deal with multiple existing files in
> a batch fashion so that the reformatted file is written
> back out to the same file name oin the same location.
>
> I cannot seem to hit upon a way to get this to work using
> find, xargs and fmt (or fold).  Nor can I seem to find an
> example of how this might be done using these utilities.
>
> What I would like to discover is the functional equivalent
> of this:
>
> find /path/to/archives/*.html -print | xargs -I {} fmt -s
> {}>  {}
>
> This syntax does not work of course because the xargs file
> name substitution only occurs once in the initial argument
> list of the following command. But, this example does
> describe the effect I wish to obtain, to have the original
> file name receive the reformatted contents.
>
>



More information about the CentOS mailing list