1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#!/bin/sh
LC_ALL=C
export LC_ALL
if test $# = 0; then
echo 'zfile: file(1) for programs which may be compressed with gzexe'
echo usage: `basename $0` files...
exit 1
fi
tmp=/tmp/gz$$
for i do
if test ! -f "$i" ; then
echo `basename $0`: $i not a file
res=1
continue
fi
skip=18
if sed -e 1d -e 2q "$i" | grep "^skip=[0-9]*$" >/dev/null; then
eval `sed -e 1d -e 2q "$i"`
fi
if tail +$skip "$i" | gzip --list >/dev/null 2>&1; then
tail +$skip "$i" | gzip -cd | dd count=1 >$tmp 2>/dev/null
file $tmp | sed "s|^$tmp|$i|"
else
file "$i"
fi
rm -f $tmp
done
|