sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #88882
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