/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Snyggare enradare
Fra : david


Dato : 16-01-06 22:01

Hur kan man återanvända stdout? Jag behöver köra två program på en
output (och ytterligare ett program på output från ett av dessa
program).

Vad jag behöver göra är att tar:a en stor katalog och sedan segmentera
den för att enklare/säkrare överföring över internet. Slutligen vill jag
checksumma både tar-filen resp segmenten. Om man gör det manuellt skulle
det se ut så här:

% tar cf Katalog.tar Katalog
% split -b 100m Katalog.tar Katalog.tar.
% ls
Katalog.tar
Katalog.tar.aa
Katalog.tar.ab
Katalog.tar.ac


% md5 Katalog.tar
% md5 Katalog.tar.*

Detta är lite omständigt och jag har skrivit följande enradare:

% tar cf - Katalog | tee >(md5 >&2) | split -b 10m - Katalog.tar.; md5
Katalog.tar.*

Jag är dock inte riktigt nöjd med den, i synnerhet det sista semikolonet
stör mig eftersom det innebär att md5 måste läsa från disk, vilket är
segt i detta fall eftersom det handlar om filer som är större än 10GB.
Dessutom kräver omstyrningen bash, hur får man det att funka med tcsh?

Förslag på bättre/elegantare tas gärna emot


--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

 
 
MÃ¥ns Nilsson (17-01-2006)
Kommentar
Fra : MÃ¥ns Nilsson


Dato : 17-01-06 01:08

Thus spoke david:
> Förslag på bättre/elegantare tas gärna emot

# skapa en ny katalog
test -d /split-tmp
case $? in
1)
   # katalogen finns inte.
   mkdir /split-tmp
   cd /split-tmp
   ;;
*)   
   # katalogen finns
   printf "Katalogen finns. Fy!\n"
   exit 1
   ;;
esac

# packa ihop datat till stdout, splitta det till filer.
tar cf - /tmp/svb | split -b10m
# eftersom vi vet att katalogen är ny så gäller alla filer oss.
md5 *
# skicka över filerna, GSSAPI style.
kauth -t/min/kaka scp * annan.datan:/davids/backuper/

Du slipper ett ner-på-disk-varv eftersom du inte skriver ut tarkakan, men
md5'orna kommer jag inte runt att läsa från disk inte så här med 5
minuters tankeverksamhet. Strängt taget så kan det ju kvitta om du går
till disk i det ena eller andra fallet, så länge antalet skrivningar
hålls nere. Och, man ska inte scripta i *csh. Det är bara fel.

--
Måns Nilsson Systems Specialist
+46 70 681 7204 KTHNOC
MN1334-RIPE

Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408803
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste