sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #101055
Re: Filnavne (i 3 niveauer) med blanktegn
>> On Wed, 2010-11-24 at 14:03 +0100, Eskild Nielsen wrote:
>>> Den 24-11-2010 11:31, Erling A. Jacobsen skrev:
>>> > On Wed, 2010-11-24 at 11:25 +0100, Eskild Nielsen wrote:
>>> >> Jeg skulle lige lave et script, der søgte igennem tre
>>> directoryniveuer
>>> >> og udførte en enkelt kommando på det de ordinære filer, der var
>>> på
>>> >> nederste niveau.
>>> >
>>> > Noget i stil med (hvis man skal udføre "file" på hver fil):
>>> >
>>> > find -maxdepth 3 -type f -print0 | xargs -0 -n1 file
>>> >
>>> > ???
>>> >
>>> > Erling
>>> >
>>> >
>>> >
>>>
>>> Dette finder også en lang række filer, der starter med . altså
>>> filer,
>>> der normalt ville være skjulte
>>>
>>> Hvordan f... slipper jeg af med dem?
>>
>> Sæt
>>
>> grep -v '^\.'
>>
>> ind mellem find og xargs, måske (ser ud til at virke for mig) ?
>>
>
> Men find vil jo også finde de filer der IKKE er på nederste niveau. Så der
> skal en lidt mere "spidsfindig" løsning til for at klare det. Ellers
> bliver xargs ... kørt med alle filer fundet i alle niveauer.
>
> find */*/* -type f -print0|xargs -I {} -0 mystuff {}
>
der skulle så lige en -maxdepth 1 ind her så det bliver...
find */*/* -maxdepth 1 -type f|xargs.....
> Her søges kun på filer i 3. niveau og der fjernes også .filer
>
> Med hensyn til grep -v '^\.' virker er det ikke helt min oplevelse for
> med print0 bliver det lidt mere besværligt at "greppe" sig ud af det :-)
>
> Men ovenstående find burde fikse det.
>
> Mvh
> JesperKP
>
>
>
>
References