Skip site navigation (1)Skip section navigation (2)
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>