[Fwd: Re: Send to a Listing]
Cameron Simpson
cs at cskk.id.au
Mon Apr 15 07:15:37 UTC 2019
On 15Apr2019 08:52, felixs <besteck455 at gmail.com> wrote:
>> However, sed can instead accept a list of files on the command line
Which felixs has tested successfully...
>> and
>> it will then read from each in turn, so instead of having the shell
>> redirect stdin, just put the wildcard path as the trailing argument on
>> the command line and let the shell expand the wildcard into the list of
>> individual files:
>> sed -ne '/^From: $EMAIL_ADDRESS/p ; /Subject: $SUBJECT/p' path/to/spoolfile/*
>>
>> (The applicable paragraph from the [GNU] sed man page is:
>> If no -e, --expression, -f, or --file option is given, then the first
>> non-option argument is taken as the sed script to interpret. All
>> remaining arguments are names of input files; if no input files are
>> specified, then the standard input is read.
>> )
>>
>> Nathan
>
>Well, I used the -e option and the first non-option argument is taken as
>the sed script (on my command line: the regexp), isn't it?. And standard input
>(redirected to an input path/to/spoolfile/* ) is not read as it (maybe) should.
If you go:
sed ... <path/tospoolfile/*
and that does not match a _single_ file, then the shell will not do the
redirection at all (because it can't) and sed doesn't run. This isn't a
bug in sed or the shell, just that you've asked for something
nonsensical.
Now, if you _want_ the concatenation of all those files as sed's
standard into you should first use a command to concatentate their data.
Like "cat". Thus:
cat path/to/spoolfile/* | sed ...
Note that for any command where you could just put the filenames as
arguments to the command without changing the behaviours this is called,
colloquially, as a "useless cat" - running a cat and the filter flavour
of the command when the nonfilter flavour would work fine, and a bit
faster.
>Are there any more list members that can confirm that redirecting it in
>the way I did, does not work/generates an error message?
The way you did it isn't a legal shell incantation. The problem isn't
anything to do with sed itself.
Cheers,
Cameron Simpson <cs at cskk.id.au>
More information about the Mutt-users
mailing list