| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Få find til at exclude directories Fra : Joe | 
  Dato :  10-11-08 17:12 |  
  |   
            Jeg har et problem med en simpel find kommando:
 
 find /testdir -path '/testdir/1' -prune -o -print
 
 Denne fungere fint og den lister alle filer i mappen udentagen dem i 
 /testdir/1/
 
 Men jeg vil kun have alle filer under 1KByte, så jeg tænkte at dette 
 fungerede:
 
 find /testdir -size -1k -path '/testdir/1' -prune -o -print
 (og alle mulige andre måder at kombinere -size på)
 
 Men det lister alle filer - inklusiv alle filer i /testdir/1/
 
 Hvordan undgår jeg dette?
  
            
             |   |   
            
        
 
            
         
           Anders Wegge Keller (10-11-2008) 
         
	
            | Kommentar Fra : Anders Wegge Keller | 
  Dato :  10-11-08 17:54 |  
  |   
            Joe <joe@asdasdasdasd.asdasd> writes:
 
 > Jeg har et problem med en simpel find kommando:
 >
 > find /testdir -path '/testdir/1' -prune -o -print
 >
 > Denne fungere fint og den lister alle filer i mappen udentagen dem i
 > /testdir/1/
 >
 > Men jeg vil kun have alle filer under 1KByte, så jeg tænkte at dette
 > fungerede:
 >
 > find /testdir -size -1k -path '/testdir/1' -prune -o -print
 > (og alle mulige andre måder at kombinere -size på)
 >
 > Men det lister alle filer - inklusiv alle filer i /testdir/1/
 >
 > Hvordan undgår jeg dette?
 
  Hvad med -regex?
 
  find /testdir -size -1k -regex '/testdir/[^1].*' 
 
  (Med forbehold for at der kommer nogen med et meget smartere regex om
   et øjeblik)
 
 -- 
 /Wegge
  
            
             |   |   
            
        
 
            
         
           Claus Rasmussen (10-11-2008) 
         
	
            | Kommentar Fra : Claus Rasmussen | 
  Dato :  10-11-08 18:51 |  
  |   
            Joe wrote:
 
 > Men jeg vil kun have alle filer under 1KByte, så jeg tænkte at dette
 > fungerede:
 > 
 > find /testdir -size -1k -path '/testdir/1' -prune -o -print
 > (og alle mulige andre måder at kombinere -size på)
 > 
 > Men det lister alle filer - inklusiv alle filer i /testdir/1/
 
 Prøv
 
         find /testdir ! \( -path '/testdir/1' -prune \) -size -1k
 
 Jeg tror, din kommando siger "Filer, der er mindre en 1k _og_ har
 stien '/testdir/1' skal prunes". Men da dit katalog er større end 1k (mine
 er typisk 4k) matcher /testdir/1 ikke betingelsen og bliver derfor ikke
 prunet.
 
         -Claus
  
            
             |   |   
            
        
 
            
         
           Joe (11-11-2008) 
         
	
            | Kommentar Fra : Joe | 
  Dato :  11-11-08 09:33 |  
  |   
            >> Men jeg vil kun have alle filer under 1KByte, så jeg tænkte at dette
 >> fungerede:
 >> find /testdir -size -1k -path '/testdir/1' -prune -o -print
 >> (og alle mulige andre måder at kombinere -size på)
 >> Men det lister alle filer - inklusiv alle filer i /testdir/1/
 > 
 >         find /testdir ! \( -path '/testdir/1' -prune \) -size -1k
 > 
 > Jeg tror, din kommando siger "Filer, der er mindre en 1k _og_ har
 > stien '/testdir/1' skal prunes". Men da dit katalog er større end 1k (mine
 > er typisk 4k) matcher /testdir/1 ikke betingelsen og bliver derfor ikke
 > prunet.
 
 Ahhh, du har fat i noget. Min size på dirs er også 4K. Jeg havde ikke 
 taget højde for, at den også ser på dir-størrelsen og med 4K size limit 
 gør den dét den skal. Jeg fokuserede udelukkende på fil størrelse.
 
 Takker.
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |