Date: Fri, 12 Jun 2009 02:10:40 +0200 From: Kristen Nielsen <none@krn--krn.dk.lh.bsd-dk.dk> To: bsd-dk@bsd-dk.dk Subject: Re: oversete shellkommandoer - del dine tricks
Søren Schrøder wrote:
> Hej liste.
>
>
[stuff deleted]
> Opgaven lyder på at der
> skal være 4 directories af typen /nfs1..3 der hver skal have 4 buckets
> med 5 buckets hver, således at der bliver 60 (3*4*5) directories der
> hedder /nfsx/bucketY/bucketZ
>
> Her er jot din bedste ven: "jot 3 1" outputter 3 linier af tal,
> startende fra 1, dvs 1 2 3.
>
> for X in `jot 3 1`
> do
> for Y in `jot 4 1`
> do
> for Z in `jot 5 1`
> do
> #vi echoer bare, mens vi leger med jot
> echo mkdir -p /nfs$X/bucket$Y/bucket$Z
> done
> done
> done
>
>
Hej Søren / liste
Tak for det, jeg lærte lige en ny kommando jeg ikke tidligere havde hørt
om - dejligt.
Jeg blev inspireret til at bidrage med et shelltrick jeg selv har brugt
i mange år.
i /bin/sh (mfl) giver {<kommasepareret liste>} en ekspansion af
elementerne i udtrykket.
f.eks.
> echo {1,2,3}{a,b,c}
1a 1b 1c 2a 2b 2c 3a 3b 3c
i bash er der en særlig version med intervalangivelse
> echo {1..3}{a..c}
1a 1b 1c 2a 2b 2c 3a 3b 3c
Dvs opgaven med at lave et hiraki af kataloger kan derfor løses således:
i /bin/sh:
mkdir -p /nfs{1,2,3}/bucket{1,2,3,4}/bucket{1,2,3,4,5}
og sådan i bash
mkdir -p /nfs{1..3}/bucket{1..4}/bucket{1..5}
vh Kristen.
This archive was generated by hypermail 2b30 : Tue 30 Jun 2009 - 23:00:01 CEST