Hallo, ik probeer het schrijven van een script dat berekent de hoeveelheid gegevens die nog in een opslag volume. I'm running Tru64 Unix-versie 5.1B patch kit 6. Het script wordt uitgevoerd tegen een AdvFS domein. Ik ben programmering in Korn Shell versie M-11/16/88f.
Het basisidee is dat ik wil lopen df-h en grep voor het domein in kwestie. Vervolgens heb ik pijp die de output in awk voor het onttrekken van de twee velden ik wil en ze opslaan in variabelen. Ik heb het zo ver met mijn script.
Dus nu heb ik twee variabelen:
totaal en
resterende. Beide bezit zijn van een nummer gevolgd door de letter G (voor Gigabytes).
Ik wil het verwijderen van de afsluitende G en neem vervolgens de 2 nummers die worden achtergelaten en het verschil af te drukken. Wat ik op stumped is hoe het verwijderen van de achterkant 'G'.
Ik weet dat in
sedKon ik iets doen als:
new_variable \u003d `
sed 's / [0-9] .* G $ / / g' `
verwijderen de afsluitende G, maar mijn kennis die je niet kunt passeren een shell variabele in
sed, Dus ik denk niet dat het volgende zou werken:
totaal \u003d `
sed 's / $ (total) $ / / g' `
Dus nu mijn programma heeft 2 variabelen die zowel over een aantal onmiddellijk gevolgd door de letter G. Ik weet dat ik waarschijnlijk zou gebruiken snijden, maar het aantal tekens verschilt per week. Deze week
totaal kunnen 4 tekens zijn met een achterstand G, volgende week het zou alleen kunnen worden 3. Welke tool kan ik gebruiken voor het verwijderen van de "G" en sla alleen het nummer terug in de variabele? Ik denk dat als ik kon maken voorbij deze stap kon ik figuur het rekenkundige deel uit.
Bedankt.