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
het uitvoeren van code op bestanden in de volgorde gesorteerd-help! epi8 Programmeren en Shell Scripting 1 05-20-2008 04:30
sorteren op datum en aaneenschakelen eerste drie jlarios UNIX voor Dummies Questions & Answers 4 05-19-2008 03:49 PM
Hoe aaneenschakelen 2 bestanden met behulp van awk? pdtak Programmeren en Shell Scripting 2 03-12-2008 01:12 PM
Vergelijk 2 gesorteerd bestanden varungupta Programmeren en Shell Scripting 7 01-25-2008 01:07 PM
Aaneenschakelen datum aan de bestandsnaam sierra_aar UNIX voor Dummies Questions & Answers 4 02-14-2002 09:42

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-07-2008
docaia docaia is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 15
aaneenschakelen bestanden gesorteerd op datum

Ik ben een beginner in het script schrijven, heb ik geprobeerd om het volgende te doen
Ik heb een set bestanden gesorteerd op datum in het formaat en YYMMDD.s. X-en. R
Ik moet aaneenschakelen een header-bestand naar deze sets van bestanden, dus ik gebruik de volgende code
Code:
echo "enter Swath number"
read s
echo "please enter first date and MMDD press ENTER"
read i
echo "please enter last date and MMDD  press ENTER"
read j
for((i; i <= j; i++))
do
cat NJSC_Alam_Ph1_Blk1_3D_HDR_S /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}.s  > /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}_Final.s

cat NJSC_Alam_Ph1_Blk1_3D_HDR_R /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}.r  > /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}_Final.r

cat NJSC_Alam_Ph1_Blk1_3D_HDR_X /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}.x  > /ud/SPECSDATA/Final_SPS/Alam3D/Swath_${s}/08${i}_Final.x

done
Ik verwacht dat het aaneenschakelen van de bestanden op basis van de input van de gebruiker.
Ik heb 2 problemen, de eerste op dat het niet doet dit bijvoorbeeld als ik de waarde voor i en j worden 0530 en 0531 voor 30 en 31 mei wordt gezocht naar een bestand genaamd 08.345 in plaats van 080.530.
Het andere probleem is hoe kan ik het script te werken aan 2 verschillende maanden? zoals ik heb het eerste bestand als 300.508 en laatste bestand als 050608, de lus is niet o er werken
  #2 (permalink)  
Old 06-09-2008
mschwage mschwage is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2005
Locatie: Oak Park, IL
Posts: 102
Probleem nummer 1 is je mengen datum wiskunde met integer math. U kunt niet met 1 tot uw "0530" en verwachten om de volgende dag. Bijvoorbeeld, er is geen getal "0530". Er is een geheel getal "530", en als u 1 van deze krijg je "531". ... Niet de "0531" die u nodig heeft. En, zoals u al zei, het toevoegen van 1 tot en dat zal niet je in juni.

Het probleem van het reservoir datum rekenkundig is vrij moeilijk. Zien "Datum wiskunde in Linux shell-script?": Tech Support uit Vraag Dave Taylor! .

Wanneer u uw vergelijking, kunt u uw test voor eind staat in een van twee manieren:
  • Als de huidige datum \u003d\u003d de einddatum (string vergelijking)
  • Als de huidige iteraties aantal seconden sinds de epoche is kleiner dan of gelijk aan de einddatum van het aantal seconden sinds de epoche.
Ook hier een paar van meer gotchas moet u zich bewust van. Als u uw datum wiskunde met behulp van "het aantal seconden sinds de Epoch"
  • U kunt uw eerste datum daadwerkelijk middernacht van de eerste datum dat is de 0'th tweede van die dag.
  • U kunt uw tweede datum daadwerkelijk 23:59:59 op die dag.
Dit omdat als je je "beginnen <\u003d einde" vergelijking, je kan het vergelijken 3pm op het einde dag tot 2pm op het einde en dat iteratie van het script niet uitgevoerd.

Ik zeg dat omdat het handig om daadwerkelijk de datum wiskunde door:
  1. Converteer de eerste dag van het aantal seconden sinds de epoche
  2. Increment de dag door de toevoeging van 86.400 (het aantal seconden in een dag) om de datum voor elke iteratie.
U moet ook weten wanneer het jaar verandert. Vergeet niet je kan het vergelijken van data in januari tot data in december.
-mschwage
  #3 (permalink)  
Old 08-16-2008
docaia docaia is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 15
Datum variabele definitie

bedankt voor het antwoord, ik snap wat je wilt zeggen prima, maar een verzoek:
Wat is het script commando om een datum variabele? is er een variabele genaamd datum?
Ik probeerde iets als datum i, en dim ik als datum, maar het werkte niet.

Ik heb ook geprobeerd "date-d $ (i) +"% Y% m% d "", maar zij zei dat ik niet een commando

kunt u me helpen op die?

Laatst gewijzigd door docaia; op 08.16.2008 04:54.. Reden: het toevoegen van enkele info
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 10:06 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