← Back to team overview

sslug-teknik team mailing list archive

Re: Prefix oversigt

 

On Sun, Aug 06, 2006 at 03:04:57AM +0200, Martin Seebach wrote:

> Den 06-08-2006 02:02, skrev Jens Bang:
> >Jeg har en samling filer der i nogle tilfælde deler prefix. Der kan f.eks. 
> >være 50 filer der starter med 2006-04-05_ og 100 der starter med 
> >2006-05-24_.
> 
> filserver test # ls
> 2006-04-05_1
> 2006-04-05_2
> 2006-04-05_3
> 2006-04-05_4
> 2006-05-24_1
> 2006-05-24_2
> 2006-05-24_3
> 2006-05-24_4
> filserver test # ls | awk -F_ '{ print $1 }' | sort -u
> 2006-04-05
> 2006-05-24
> 
> Det forudsætter naturligvis at du kan splitte prefix'et vha.
> f.eks. _ (-F_).. Ellers kan du koble en sed på.

Det burde ikke være nødvendig med sed, AWK kan meget mere end print,
det er et helt programmeringssprog bygget op om regular expressions.


I stedet kan der laves en regular expression der matcher prefix ,
i dette tilfælde:
   ^[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]_


Så det bliver f.eks.:

ls | gawk ' /^[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]_/ {
        prefixs[substr($0,1,10)]++ 
      } 
      END { for (i in prefixs) print i ; } '



PS.
Se "man gawk" eller "man awk" for mere om AWK
AWK er i øvrigt initialerne fra dem der "opfandt" AWK,
Aho,  Weinberger, Kernighan.

-- 
mvh Frank Damgaard  | 



Follow ups

References