|  | 		    
					
        
         
          
         
	
          | |  | Find er besværlig! Fra : Morten P
 | 
 Dato :  10-04-10 07:55
 | 
 |  | Jeg vil finde alle mapper som ikke indeholder syntaksen '\d{4}-' (Dvs
 ekskluder '2004-04-01 - Gert Ged', men inkluder gruppe mappen '2004')
 
 
 find . -type d | egrep -v '[0-9]{4}-'
 
 
 Den fungerer, men kan man ikke skrive den syntaks direkte i find?
 
 
 
 
 |  |  | 
  Michael Rasmussen (10-04-2010) 
 
	
          | |  | Kommentar Fra : Michael Rasmussen
 | 
 Dato :  10-04-10 09:52
 | 
 |  | 
 
            On Sat, 10 Apr 2010 08:55:10 +0200
 "Morten P" <spam@spam.spam> wrote:
 > 
 > Den fungerer, men kan man ikke skrive den syntaks direkte i find? 
 > 
 > 
 utestet: find . -type d -exec egrep -v '[0-9]{4}-' {} \;
 -- 
 Hilsen/Regards
 Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917 A computer is like air conditioning: it becomes useless when you open
 windows.
            
             |  |  | 
  Morten P (10-04-2010) 
 
	
          | |  | Kommentar Fra : Morten P
 | 
 Dato :  10-04-10 14:04
 | 
 |  | 
 "Michael Rasmussen" <mir@miras.org> wrote in message 
 news:20100410105221.460b833d@sleipner.datanom.net...
 > On Sat, 10 Apr 2010 08:55:10 +0200
 > "Morten P" <spam@spam.spam> wrote:
 >
 >>
 >> Den fungerer, men kan man ikke skrive den syntaks direkte i find?
 >>
 >>
 > utestet: find . -type d -exec egrep -v '[0-9]{4}-' {} \;
 Desværre, den giver ingen træffere overhovedet    |  |  | 
  Klaus Alexander Seis~ (10-04-2010) 
 
	
          | |  | Kommentar Fra : Klaus Alexander Seis~
 | 
 Dato :  10-04-10 10:46
 | 
 |  | 
 
            Morten P skrev:
 > Jeg vil finde alle mapper som ikke indeholder syntaksen '\d{4}-'
 > (Dvs ekskluder '2004-04-01 - Gert Ged', men inkluder gruppe
 > mappen '2004')
 >
 > find . -type d | egrep -v '[0-9]{4}-'
 GNU find har en ‘-not’-operator:
   find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 Mvh,
 -- 
 Klaus Alexander Seistrup
http://klaus.seistrup.dk/ |  |  | 
  Morten P (10-04-2010) 
 
	
          | |  | Kommentar Fra : Morten P
 | 
 Dato :  10-04-10 14:07
 | 
 |  | 
 "Klaus Alexander Seistrup" <klaus@seistrup.dk> wrote in message
 news:hpphcg$1bi$1@zdani.szn.dk...
 > Morten P skrev:
 >
 >> Jeg vil finde alle mapper som ikke indeholder syntaksen '\d{4}-'
 >> (Dvs ekskluder '2004-04-01 - Gert Ged', men inkluder gruppe
 >> mappen '2004')
 >>
 >> find . -type d | egrep -v '[0-9]{4}-'
 >
 > GNU find har en '-not'-operator:
 >
 >  find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 
 Den der burde da fungere men den giver mig også følgende:
 
 ../Dyr/Egern/Peanut/2002-05-28 - Peanut Med Sin F?rste Jordn?d
 
 
 Kan det stemme at fordi der er mærkelige tegn i så kan den ikke køre match
 på dem?
 
 (Er der en måde at erstatte de danske tegn der nu er garbled i filsystemet?)
 
 
 
 
 |  |  | 
   Lars Kongshøj (10-04-2010) 
 
	
          | |  | Kommentar Fra : Lars Kongshøj
 | 
 Dato :  10-04-10 15:11
 | 
 |  | 
 
            Morten P skrev:
 > "Klaus Alexander Seistrup" <klaus@seistrup.dk> wrote in message 
 > news:hpphcg$1bi$1@zdani.szn.dk...
 >> Morten P skrev:
 >>
 >>> Jeg vil finde alle mapper som ikke indeholder syntaksen '\d{4}-'
 >>> (Dvs ekskluder '2004-04-01 - Gert Ged', men inkluder gruppe
 >>> mappen '2004')
 >>>
 >>> find . -type d | egrep -v '[0-9]{4}-'
 >> GNU find har en '-not'-operator:
 >>
 >>  find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 Altså fire cifre efterfulgt af nul eller flere minusser    > Den der burde da fungere men den giver mig også følgende:
 > 
 > ./Dyr/Egern/Peanut/2002-05-28 - Peanut Med Sin F?rste Jordn?d
 Prøv '[0-9][0-9][0-9][0-9]-.*'
 Mvh. Lars
            
             |  |  | 
   Mogens Kjaer (11-04-2010) 
 
	
          | |  | Kommentar Fra : Mogens Kjaer
 | 
 Dato :  11-04-10 11:07
 | 
 |  | 
 
            On 04/10/2010 03:07 PM, Morten P wrote:
 ....
 > (Er der en måde at erstatte de danske tegn der nu er garbled i filsystemet?) 
 convmv
 Mogens
 -- 
 Mogens Kjaer, Carlsberg A/S, Computer Department
 Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
 Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
 Email: mk@crc.dk Homepage: http://www.crc.dk |  |  | 
  Jacob Gaarde (10-04-2010) 
 
	
          | |  | Kommentar Fra : Jacob Gaarde
 | 
 Dato :  10-04-10 14:09
 | 
 |  | 
 
            On Sat, 10 Apr 2010 08:55:10 +0200
 "Morten P" <spam@spam.spam> wrote:
 > Jeg vil finde alle mapper som ikke indeholder syntaksen '\d{4}-' (Dvs 
 > ekskluder '2004-04-01 - Gert Ged', men inkluder gruppe mappen '2004')
 > 
 > 
 > find . -type d | egrep -v '[0-9]{4}-'
 > 
 > 
 > Den fungerer, men kan man ikke skrive den syntaks direkte i find? 
 > 
 > 
 find ./doc -not -name \*[0-9]4\*
 -- 
 -- 
 //Jacob Gaarde
 //Dont reply to my (apparent) e-mail address. Instead Use 
 //e-mail : jgaarde <at> gmail <dot> com
 <http://www.linkedin.com/in/jacobgaarde> |  |  | 
  Morten P (10-04-2010) 
 
	
          | |  | Kommentar Fra : Morten P
 | 
 Dato :  10-04-10 14:14
 | 
 |  | 
 
            >
 > find ./doc -not -name \*[0-9]4\*
 Sorry    ../Diverse/Objekter/0000-00-00 - Dilbert
            
             |  |  | 
  Klaus Alexander Seis~ (10-04-2010) 
 
	
          | |  | Kommentar Fra : Klaus Alexander Seis~
 | 
 Dato :  10-04-10 15:15
 | 
 |  | 
 
            Morten P skrev:
 >>  find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 >
 > Den der burde da fungere men den giver mig også følgende:
 >
 > ./Dyr/Egern/Peanut/2002-05-28 - Peanut Med Sin F?rste Jordn?d
 >
 > Kan det stemme at fordi der er mærkelige tegn i så kan den ikke
 > køre match på dem?
 Næppe.  Metoden fungerer i øvrigt her:
 #v+
 $ mkdir -p "Dyr/Egern/Peanut/2002-05-28 - Peanut Med Sin Første Jordnød"
 $ find . -type d
 ..
 ../Dyr
 ../Dyr/Egern
 ../Dyr/Egern/Peanut
 ../Dyr/Egern/Peanut/2002-05-28 - Peanut Med Sin Første Jordnød
 $ find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 ..
 ../Dyr
 ../Dyr/Egern
 ../Dyr/Egern/Peanut
 $ 
 #v-
 Mvh,
 -- 
 Klaus Alexander Seistrup
http://klaus.seistrup.dk/ |  |  | 
  Klaus Alexander Seis~ (10-04-2010) 
 
	
          | |  | Kommentar Fra : Klaus Alexander Seis~
 | 
 Dato :  10-04-10 15:26
 | 
 |  | 
 
            Lars Kongshøj skrev:
 >>  find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 > 
 > AltsÃ¥ fire cifre efterfulgt af nul eller flere minusser    SÃ¥ vidt jeg kan se af find(1), benyttes der “shell pattern matchingâ€, 
 ikke pcre, så udtrykket burde svare til
 #v+
 find . -type d -print \
 | while read path
   do
     file="$(basename \"${path}\")"
     case "${file}" in
       [0-9][0-9][0-9][0-9]-* )
         : pass
       ;;
       * )
         echo "${path}"
       ;;
     esac
   done
 #v-
 Mvh,
 -- 
 Klaus Alexander Seistrup
http://klaus.seistrup.dk/ |  |  | 
  Lars Kongshøj (10-04-2010) 
 
	
          | |  | Kommentar Fra : Lars Kongshøj
 | 
 Dato :  10-04-10 16:15
 | 
 |  | 
 
            Klaus Alexander Seistrup skrev:
 > Lars Kongshøj skrev:
 > 
 >>>  find . -type d -not -name '[0-9][0-9][0-9][0-9]-*'
 >> Altså fire cifre efterfulgt af nul eller flere minusser    > 
 > SÃ¥ vidt jeg kan se af find(1), benyttes der “shell pattern matchingâ€, 
 > ikke pcre, så udtrykket burde svare til
 > 
 > #v+
 > 
 > find . -type d -print \
 > | while read path
 >   do
 >     file="$(basename \"${path}\")"
 >     case "${file}" in
 >       [0-9][0-9][0-9][0-9]-* )
 >         : pass
 >       ;;
 >       * )
 >         echo "${path}"
 >       ;;
 >     esac
 >   done
 > 
 > #v-
 > 
 > Mvh,
 Du har sikkert ret. Jeg plejer at bruge locate+grep, det synes jeg er 
 nemmest.
 Mvh. Lars
            
             |  |  | 
 |  |