← Back to team overview

sslug-teknik team mailing list archive

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 {}

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



Follow ups

References