[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: broken pipe
From: |
Brian J. Murrell |
Subject: |
Re: broken pipe |
Date: |
Wed, 13 Feb 2008 16:00:23 -0500 |
On Wed, 2008-02-13 at 14:56 -0600, Michael Potter wrote:
> Bash Bunch,
>
> I googled a bit and it see this problem asked several times, but I
> never really saw a slick solution:
>
> given this:
>
> set -o pipefail
> find / -type f -print 2>&1 |head -20
> echo ${PIPESTATUS[*]}
>
> prints this:
> 141 0
>
> find fails because it has a bunch of output, but head only will accept
> the first n lines.
>
> This is a problem for me because I have trap ERR & errexit & pipefail
> activated.
>
> The solution I will use will be to write the find output to a file,
> then run head on it.
How about:
find / -type f -print 2>&1 | (head -20; cat >/dev/null)
or
find / -type f -print 2>&1 | head -20 || true
> I am hoping that someone on the group has a more graceful solution.
It is a shame for this particular reason that head does not (perhaps as
an option) consume it's input after displaying the 20 lines.
b.
signature.asc
Description: This is a digitally signed message part
- broken pipe, Michael Potter, 2008/02/13
- Re: broken pipe,
Brian J. Murrell <=