Date: Sun, 19 May 2002 14:25:59 +0300 From: Giorgos Keramidas <keramida@FreeBSD.org> To: Alfred Perlstein <bright@mu.org> Cc: Bakul Shah <bakul@bitblocks.com>, Dima Dorfman <dima@trit.org>, Paul Herman <pherman@frenchfries.net>, current@FreeBSD.org Subject: Re: mergemaster(8) broken -- uses Perl Message-ID: <20020519112559.GA33290@hades.hell.gr> In-Reply-To: <20020519091354.GR20683@elvis.mu.org> References: <200205190707.DAA27939@marlborough.cnchost.com> <200205190730.DAA10754@marlborough.cnchost.com> <20020519091354.GR20683@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2002-05-19 02:13, Alfred Perlstein wrote: > * Bakul Shah <bakul@bitblocks.com> [020519 00:30] wrote: > > > $ stat -a stat > > > > Oops! A few lines got eaten! > > > > $ stat -a stat > > May 19 00:24:42 2002|48|May 19 00:24:42 2002|291846|-|bakul|0|262301|1|May 19 00:24:42 2002|rwxr-xr-x|1095744|23996|-|bakul|stat > > $ stat -a -n stat > > 1021793082|48|1021793082|291846|0|1001|0|262301|1|1021793082|755|1095744|23996|100000|1001|stat > > Bow to me. > > echo 'ibase=2\nobase=8\n' \ > `ls -ld ${FILE} | cut -f 1 -d " " | \ > sed -e 's/[rwx]/1/g' -e 's/[^rwx1]/0/g'` | \ > bc Great idea to use bc(1) ;-) It doesn't really parse sticky, suid or sgid bits, but it's smaller than the awk version. The following did the trick nicely (but is too ``complicated'', and I'd still like having a tool that allows userland to call stat/fstat(2): hades+charon:/tmp$ cat foo.sh #!/bin/sh echo 'ibase=2;obase=8;' \ ` ls -ld "$1" | \ cut -c2-10 | \ sed -e '/^..[sS]/ s/^.*$/&+100000000000/' \ -e '/^.....[sS]/ s/^.*$/&+10000000000/' \ -e '/^........[tT]/ s/^.*$/&+1000000000/' | \ sed -e 's/[st]/x/g' -e 's/ST/-/g' | \ sed -e 's/[rwx]/1/g' | \ sed -e 's/[^1+]/0/g' ` | bc % sh foo.sh /tmp hades+charon:/tmp$ sh foo.sh /tmp 1777 -- Giorgos Keramidas - http://www.FreeBSD.org keramida@FreeBSD.org - The Power to Serve To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020519112559.GA33290>