The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Tricky Shell script namishtiwari Programmeren en Shell Scripting 61 08-23-2007 07:26
lastig zoeken vervangen: Pls help. vaibhavs Programmeren en Shell Scripting 5 06-11-2007 03:44 PM
Tricky Sed bestbuyernc Programmeren en Shell Scripting 2 11-22-2005 01:03 PM
Tricky een ... saabir Windows & DOS: Kwesties & Discussies 1 12-12-2002 05:34 PM
Tricky Bestand Toestemming Vraag Hook Bestandssystemen, schijven en geheugen 3 07-16-2002 04:25 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-27-2006
budrito budrito is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2002
Posts: 22
Tricky script vraag

Hoi,

Ik ben in het midden van het schrijven van een UNIX-script dat sftp-bestanden naar een externe host en zit vast met een probleem. Het probleem is dat de bestanden die op mijn server als een ordernummer dat correleert met een opeenvolging van mappen op de externe host dat is waar het bestand moet worden ftp'ed.

Voorbeeld:
Mijn server filename:
mijnserver> / home / 572011 O4MP ORDS 188.406 V01 DT 20060608154548.txt

De 4e veld (188406) in mijn bestandsnaam correleert naar een map op de server waar het bestand moet worden opgeslagen. Dus op de externe server moeten we sftp'ing dit bestand naar pad

Remote Server:
ExterneServer> / Test Documents/TestOrders/180001-190000/188001-189000/188401-188500/188406

De externe server heeft ongeveer 30 + mappen en sub-directory reeksen gemaakt om dit bestand overdracht te vergemakkelijken. Remote server directory listings als bereik niveau en submappen volgen:
100001-110000 110001-120000
180001-190000 270001-280000 300001-310000 320001-330000
330001-340000 350001-360000 370001-380000 380001-390000
390001-400000 400001-410000 410001-420000 420001-430000
430001-440000 440001-450000 450001-460000 460001-470000
470001-480000 480001-490000 490001-500000 500001-510000
510001-520000 520001-530000 530001-540000 540001-550000
550001-560000 560001-570000 570001-580000 580001-590000
590001-600000 600001-610000

Dus een voorbeeld zou zijn dat als wij kregen een bestandsnaam:
/ home / 572011 O4MP ORDS 588406 V01 DT 20060608154548.txt (Opmerking: 588406 is de map worden opgeslagen op externe locatie zoals hierboven uitgelegd)

Hoe kan ik het script slim genoeg om het te kijken naar de vierde veld in mijn bestand naam en sftp het op de remote server pad:
ExterneServer> / Test Documents/TestOrders/580001-590000/588001-589000/588401-588500/588406

Dit is voor #! / Bin / sh, #! / Bin / csh of #! / Bin / ksh en gebaseerd op HP-UX 11i.

Uw hulp zou zeer gewaardeerd worden.

Bedankt.
  #2 (permalink)  
Old 06-28-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: juli 2001
Plaats: Portland, OR, Verenigde Staten
Berichten: 1584
Hier is een tip:
Met behulp van recente versie van bash of ksh, kunt u dit doen:

Code:
fullname="/home/ 572011 O4MP ORDS 188406 V01 DT 20060608154548.txt"
file="${fullname##*/}"
read _ _ _ dir _ <<<$file
echo $dir

Als u een oudere versie van een van beide ksh of bash, de volgende werken, maar is niet zo aangenaam aesthitically (voor mij )

Code:
fullname="/home/ 572011 O4MP ORDS 188406 V01 DT 20060608154548.txt"
file="${fullname##*/}"
echo $file| read _ _ _ dir _
echo $dir

Please post terug Mocht u verdere problemen in de uitvoering van deze ...
  #3 (permalink)  
Old 06-29-2006
budrito budrito is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2002
Posts: 22
Hoi,

Het probleem met het bovenstaande is dat het niet geeft mij het volledige pad van het gamma directory op de remote server. De output geeft slechts 188.406 terwijl ik mij zou na iets silimar naar:

/ Test Documents/TestOrders/180001-190000/188001-189000/188406

thks.
  #4 (permalink)  
Old 06-30-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: juli 2001
Plaats: Portland, OR, Verenigde Staten
Berichten: 1584
Nou, verlegen van het doen van het gehele project voor u, ik ben bereid om een aantal bits op te geven hier en daar ...

Hoe bepaal je de andere directory namen? Zijn ze statisch (niet-veranderende) of dynamische (eventueel kan verschillen voor elk bestand)?

En belangrijker, zijn wat shell gebruikt u?
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 03:22 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0