![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Hva kommandoen å finne posten lengden av en fast lengde fil? | tranq01 | UNIX for Dummies Spørsmål og svar | 9 | 12-04-2008 04:04 |
| Debian: Ny yarssr pakker feilrettingsfilen vilkårlige shell-kommando | iBot | Sikkerhet veiledninger (RSS) | 0 | 01-28-2008 10:20 |
| hva er den maksimale lengden på th os-kommandolinje i Unix. | kumardesai | UNIX for Dummies Spørsmål og svar | 2 | 11-28-2007 07:37 |
| Hvordan kan du ta inn variabler / parametre fra kommandolinjen? | avisram | UNIX for Dummies Spørsmål og svar | 1 | 07-21-2005 10:47 |
| bestått kommandolinjeparametere til funksjoner - sh | Vino | Shell programmering og Skripting | 5 | 03-05-2005 05:51 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Building kommandolinjeparametere av vilkårlig lengde
Jeg kunne ikke finne en eksisterende tråd som er adressert dette spørsmålet, så forhåpentligvis er ikke overflødig med noe tidligere postet. Here goes:
Jeg skriver en C-Shell skript som kjører et program som tar et vilkårlig antall parametere: myprog-a fil1 \ -b fil2 \ -c file3 ... \ -n fileN \ -operasjon "a + b + c +...+ n" Filene som myprog opererer er i underkataloger: 01/01.ext, 02/02.ext, ... etc. Siden filnavnene skje for å matche katalogen navn, jeg vil gjerne være i stand til å passere skriptet et vilkårlig antall kataloger (i praksis vil det være færre enn 26, så det er ingen problem med å gå tom for "-x" koder ). Manuset vil da konstruere argument listen for myprog slik at myscript.sh 01 02 03 ... 12 ville utvide til: myprog-en 01/01.ext-b 02/02.ext ... -k 11/11.ext-l 12/12.ext \ -operasjon "a + b + c +...+ k + l" Er det en grei måte å gjøre dette? |
|
||||
|
Code:
#!/bin/sh
echo $1 |
awk 'BEGIN {
n="abcdefghijklmnopqrstuvwxyz"
printf("myprog")}
{ for (i=1;i<=$0;i++) {
printf(" -%s %02d/%02d.ext", substr(n,i,1), i, i)
op=op substr(n,i,1)"+"
}
op=substr(op,1,length(op)-1)
printf(" -operation \"%s\"\n",op)
}'
Bruk: "scriptname 5" istedet for "scriptname 01 ... 05". Én verdi nok. Hilsen |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|