Date: Tue, 29 Jan 2013 04:20:55 +0100 From: "Ralf Mardorf" <ralf.mardorf@rocketmail.com> To: freebsd-questions@freebsd.org Subject: Re: How to fix a broken owner for files from world & build from ports? Message-ID: <op.wrnkw5zmuwjkcr@freebsd> In-Reply-To: <op.wrnkt6txuwjkcr@freebsd> References: <op.wrms0fqkqhadp0@freebsd> <20130128182726.42db0712.freebsd@edvax.de> <op.wrnfetnauwjkcr@freebsd> <op.wrngzye9uwjkcr@freebsd> <510736DE.4060701@gmail.com> <op.wrnjptnuuwjkcr@freebsd> <51073C35.8010602@gmail.com> <op.wrnknrhwuwjkcr@freebsd> <op.wrnkt6txuwjkcr@freebsd>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 29 Jan 2013 04:19:08 +0100, Ralf Mardorf <ralf.mardorf@rocketmail.com> wrote: > On Tue, 29 Jan 2013 04:15:17 +0100, Ralf Mardorf > <ralf.mardorf@rocketmail.com> wrote: > >> On Tue, 29 Jan 2013 04:04:21 +0100, Joshua Isom <jrisom@gmail.com> >> wrote: >> >>> On 1/28/2013 8:54 PM, Ralf Mardorf wrote: >>>> On Tue, 29 Jan 2013 03:41:34 +0100, Joshua Isom <jrisom@gmail.com> >>>> wrote: >>>>> On 1/28/2013 7:56 PM, Ralf Mardorf wrote: >>>>>> Still not perfect, I guess I need something similar to ls -RAl for >>>>>> some >>>>>> directories :S and I didn't test what awk will do with names >>>>>> including a >>>>>> space. >>>>> >>>>> Try `find /dir -ls`. You can pipe it into sed like this `find /dir >>>>> -ls| sed -e 's%/dir%%g'` and then get something easily comparable. >>>> >>>> Cool, it does display the path, but there's still the other issue: >>>> >>>> $ touch test\ test >>>> $ find * -ls| sed -e 's%/dir%%g'| awk '{print $5" "$11}' >>>> rocketmouse test >>>> >>>> Perhaps awk isn't that important, but it e.g. will filter different >>>> file >>>> sizes, for e.g. configurations I edited in the meantime. >>>> >>>> :( >>> >>> You're basically getting down to the dirty tedious parts. Unless you >>> know a full featured scripting language with a find library to find >>> and compare ownership, or you want a custom c program for a rare >>> occurrence, you're just going to have to do it the tedious way. >>> Computer's aren't always fun and glory. For every beautiful network, >>> someone had to run the wires into the wall, through the dirt, and to >>> the other building. >> >> I already have an idea. Since $11 is the last output I might be able to >> check whether there is a space followed by a sign, by a loop, assumed >> there should be several spaces, interrupted by signs. I guess to care >> for several spaces one after the other and exotic signs that might >> "break" awk IMO isn't needed. >> >> It might become a very long "command line" ;). Perhaps I don't need it, >> I have to test it. I extracted the first dump, but need a rest now. >> >> Thank you :). > > Solved! > > # find * -ls | sed -e 's%/dir%%g' | awk '{print $5" "$11" "$12" "$13}' > > I can add $14 to $83635484 ;). I guess $[...] is limited, but even with 12 and 13, it should be enough.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.wrnkw5zmuwjkcr>