spider:/var/logtransfer/dc-fw1# find . -name pflog.*.gz -exec zcat {} |
tcpdump -entttv -r -  \;
find: -exec: no terminating ";"

Find -exec invokes the command directly using exec(2). There's no shell underlying the command, so pipes are out (even if you had correctly escaped the '|').

The easiest way out of this is to put the compound command into a shell script and have find run that. E.g.:

cat > scanlog << _HOOPY_FROOD
#!/bin/sh
zcat $1 | tcpdump -entttv -r -
_HOOPY_FROOD
chmod +x scanlog
find . -name 'pflog.*.gz' -exec ./scanlog '{}'


--lyndon

  Our users will know fear and cower before our software!  Ship it!  Ship it
  and let them flee like the dogs they are!

Reply via email to