Hej, jeg forsøger at skrive et script, der beregner størrelsen af resterende data i en beholdervolumen. I'm running Tru64 Unix version 5.1B lappe kit 6. Scriptet køres mod en AdvFS domæne. Jeg programmering i Korn Shell version M-11/16/88f.
Den grundlæggende idé er, at jeg vil køre df-h og grep for det pågældende domæne. Jeg så røret, at produktionen i awk at udtrække de to områder, som jeg ønsker, og gemme dem i variabler. Jeg har gjort det så langt med mit manuskript.
Så nu har jeg to variabler:
samlede og
resterende. Begge hold et tal efterfulgt af bogstavet G (for gigabytes).
Jeg ønsker at fjerne den efterfølgende G og derefter tage de 2 numre, der er tilbage og udskrive forskellen. Hvad jeg stavrede på, er, hvordan du fjerner den efterfølgende 'G'.
Jeg ved, at i
sed, Jeg kunne gøre noget lignende:
ny_variabel \u003d `
sed 's / [0-9] .* G $ / / g' `
at fjerne det efterfølgende G, men så vidt jeg ved, du ikke kan passere en shell variable i
sed, Så jeg ikke tror, det følgende vil arbejde:
total \u003d `
sed 's / $ (alt) $ / / g' `
Så nu er mit program har 2 variabler, som begge har en række umiddelbart efterfulgt af bogstavet G. Jeg ved, jeg kunne nok bruge klippe, men antallet af tegn adskiller sig hver uge. Denne uge,
samlede kunne være 4 tegn med en afsluttende G, i næste uge kan det kun være 3. Hvilket værktøj kan jeg bruge til at fjerne 'G' og gemme bare nummeret tilbage i de variable? Jeg tror, hvis jeg kunne gøre det forbi dette skridt, jeg kunne finde det aritmetiske del ud.
Tak.