The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
fuldbyrdende kode på filer i sorteret rækkefølge-hjælp! epi8 Shell Programmering og Scripting 1 05-20-2008 04:30 AM
sortere efter dato og concatenate første tre jlarios UNIX for dummyer Spørgsmål & svar 4 05-19-2008 03:49 PM
Sådan concatenate 2 filer ved hjælp awk? pdtak Shell Programmering og Scripting 2 03-12-2008 01:12 PM
Sammenlign 2 sorteret filer varungupta Shell Programmering og Scripting 7 01-25-2008 01:07 PM
Concatenate dato, filnavn sierra_aar UNIX for dummyer Spørgsmål & svar 4 02-14-2002 09:42 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-07-2008
docaia docaia is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 15
concatenate billeder sorteret efter dato

Jeg er en nybegynder i script skriftligt, jeg forsøgte at gøre følgende
Jeg har et sæt filer sorteret efter dato i formatet YYMMDD.s og. X og. R
Jeg har brug for at concatenate en header fil til disse sæt af filer, så jeg brugte følgende kode
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
Jeg forventer, at det concatenate filerne baseret på brugerens input.
Jeg har 2 problemer, den første på er, at det ikke gør det for eksempel, hvis jeg indtaste værdien for i og j skal 0530 og 0531 til 30. og 31. maj den søger efter en fil med navnet 08345 i stedet for 080.530.
Det andet problem er, hvordan kan jeg få scriptet til at arbejde for 2 forskellige måneder? ligesom jeg har den første fil som 300.508 og sidste fil som 050.608, sløjfen ikke vil o arbejde der
  #2 (permalink)  
Old 06-09-2008
mschwage mschwage is offline
Registreret Bruger
  
 

Join Date: Jul 2005
Beliggenhed: Oak Park, IL
Stillinger: 102
Problem nummer 1 er du blande dato math med heltal math. Du kan ikke tilføje 1 til din "0530" og forventer at få den næste dag. For eksempel er der ingen heltal "0530". Der er et heltal "530", og hvis du tilføjer 1 til det du vil få "531". ... Ikke "0531", som du har brug for. Og som De nævnte, at tilføje 1 til, som ikke vil få dig ind i juni.

Problemet med shell dato aritmetiske er temmelig vanskeligt. Se "Dato math i Linux shell script?": Tech Support fra Spørg Dave Taylor! .

Når du gør din sammenligning, kan du teste om din udgangen tilstand på en af to måder:
  • Hvis den aktuelle dato \u003d\u003d slutdatoen (string sammenligning)
  • Hvis den nuværende Iterationen antal sekunder siden epoke er mindre end eller lig med den slutdato's antal sekunder siden epoke.
Også her er et par mere gotchas du skal være opmærksom på. Hvis du gør din date math bruger "antal sekunder siden Tidehverv",
  • Du kan evt din første date til rent faktisk at være midnat på den første date-det vil sige de 0'th anden af den pågældende dag.
  • Du kan evt din anden dato til rent faktisk at være 23:59:59 den pågældende dag.
Det er fordi, hvis du gør din "begynder <\u003d udgangen" sammenligning, kan du sammenligne 3pm om udgangen dag til 2pm om udgangen dag, og at iteration af scriptet vil ikke køre.

Jeg nævner det, fordi det er praktisk at rent faktisk gør det tidspunkt math ved:
  1. Konvertere den første dato for det antal sekunder siden epoke
  2. Tilvækst datoen ved at tilføje 86.400 (antallet af sekunder på en dag) til datoen for hver iteration.
Du skal også være opmærksom på, når året ændringer. Glem ikke at du kan sammenligne datoer i januar til datoer i december.
-mschwage
  #3 (permalink)  
Old 08-16-2008
docaia docaia is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 15
Dato variable definition

Tak for svaret, jeg får, hvad du vil sige bøden, bare en anmodning:
Hvad er script kommando til at identificere en dato variable? er der en variabel kaldet dato?
Jeg prøvede noget lignende dato i, og dystre jeg som dato men det virkede ikke.

Jeg har også prøvet "date-d $ (i) +"% y% m% d "" men det sagde, at jeg ikke er en kommando

Kan du hjælpe mig om det?

Sidst redigeret af docaia; 08-16-2008 på 04:54 AM.. Årsag: tilføje nogle info
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 02:35 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0