Vraag : Het Manuscript van FTP via Unix

Hallo, heeft

I een klein Unixmanuscript dat FTP gebruikt om dossiers tussen 2 vakjes van Unix over te brengen. Dit werkt boete maar ik gebruik enkel mget en de vervanging op mijn dossier names.

What die ik heb willen om nu doen is retrict het aantal teruggekeerde verslagen. d.w.z. Ik wil slechts 10 dossiers terugkeren zelfs als meer dan 10 binnen het vervangingsonderzoek bestaan. Ik heb niets in het dossier - naamtha zal dit zo beperken hoopte er een code way.

Script is was: -

HOST='xxxxx'< br/>USER='heather'< br/>PASSWD='******* '
FILE='*2010020214*'< br/>
ftp - inv $HOST <quote keert de PAS/>quote $PASSWD
cd /usr/indata
lcd /usr/outdata
ascii
prompt off
mget $FILE
bye
##quit
END_SCRIPT
##exit 0

This van de GEBRUIKER $USER

Thanks
H
negeren

Antwoord : Het Manuscript van FTP via Unix

Oh ja,
u bent juist, rumi78, die deze verwarring met „indata“ en „outdata“ is ik reeds vermeldde!
Met „zet“ de oplossing fijn zou zijn; -)

In elk geval, had I eens een gelijkaardig geval hier, waar ik een oplossing kijkend als dit verstrekte:

#! /bin/sh
HOST= " xxxxxx "
USER= " heide "
PASSWD= " *******
CMDFILE= " /tmp/rc.ftp.$$ "
REMOTEDIR= " /usr/indata "
LOCALDIR= " /usr/outdata "
PATTERN= " *2010020214* "
NUMFILES=10
LISTING=$ (FTP - in $HOST <>gebruiker $USER $PASSWD
CD $REMOTEDIR
ls $PATTERN
houd met op
EOF)
SLISTING=$ (echo $LISTING | besnoeiing - f1-$NUMFILES - D " „)
echo „open $HOST“ > CMDFILE
echo „gebruiker $USER $PASSWD“ >> CMDFILE
echo „breedsprakige“ >> CMDFILE
echo „ASCII“ >> CMDFILE
echo „CD $REMOTEDIR“ >> CMDFILE
echo „lcd $LOCALDIR“ >> CMDFILE
voor DOSSIER in $SLISTING
 
     de echo „krijgt $FILE“ >> CMDFILE
   gedaan
echo „opgehouden met“ >> CMDFILE
  FTP - in <�>rm CMDFILE

Fundamenteel, gebruiken wij FTP om een verre lijst te creëren om de eerste 10 elementen in een tweede stap van FTP dan te verwerken.

wmp
Andere oplossingen  
 
programming4us programming4us