recursief filteren

Pagina: 1
Acties:

  • tharkun
  • Registratie: Augustus 2003
  • Laatst online: 01-01-2025
Hoi,

Laatst heb ik met f-spot een heleboel foto's geïmporteerd. F-spot heeft hier een mooie mappenstructuur in gemaakt. Er zitten echter dubbele foto's tussen. Iedere 'tweede' foto eindigt op *-1.JPG ipv. op *.JPG.

Nu wil ik eerst een lijst maken van alle dubbele foto's en ze daarna verwijderen. Ik ben met ls aan de slag gegaan om de lijst te maken. Wat ik uit de man-page begrijp kan je met ls recursief door de mappen gaan met -R en kan je filteren door een reguliere expressie mee te geven.

Maar als ik ls -R *-1.JPG . doe krijg ik een lijst van alle bestanden, niet alleen van bestanden met '-1.JPG' erin. Wat doe ik fout?

Voor grote problemen hebben we de computer


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Ik weet niet of wat je wilt met 'ls' mogelijk is, maar zo op het eerste gezicht zou ik het met 'find' oplossen:

code:
1
$ find . -name \*-1.JPG

"He took a duck in the face at two hundred and fifty knots."


  • durian
  • Registratie: Mei 2005
  • Laatst online: 31-01 09:42
_Squatt_ schreef op donderdag 26 april 2007 @ 12:42:
Ik weet niet of wat je wilt met 'ls' mogelijk is, maar zo op het eerste gezicht zou ik het met 'find' oplossen:

code:
1
$ find . -name \*-1.JPG
Dan wordt het later verwijderen ook makkelijker;

code:
1
find . -name \*-1.JPG | xargs rm

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

durian schreef op donderdag 26 april 2007 @ 13:10:
[...]

Dan wordt het later verwijderen ook makkelijker;

code:
1
find . -name \*-1.JPG | xargs rm
of

code:
1
find . -iname '\*-1.jpg' -exec rm {} \;


De quotes zijn wel belangrijk, omdat sh anders het eerste bestand pakt dat op die structuur lijkt

[ Voor 15% gewijzigd door GX op 26-04-2007 13:15 ]


  • tharkun
  • Registratie: Augustus 2003
  • Laatst online: 01-01-2025
Mensen bedankt, het is gelukt. :)

Voor grote problemen hebben we de computer


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

ls zou op zich ook moeten kunnen. Waarschijnlijk zit je met 2 dingen;
de "-1" wordt gezien als optie ipv deel van het argument.
de "*" wordt door bash direct omgezet naar alle bestanden in de map.

Volgens mij zou
code:
1
ls -R -- \*-1.JPG


ook moeten werken.

We are pentium of borg. Division is futile. You will be approximated.

Pagina: 1