The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
verkställande kod på filer i sorterad ordning-hjälp! epi8 Shell-programmering och Skript 1 05-20-2008 04:30
sortera efter datum och slå samman de tre första jlarios UNIX for Dummies Frågor & Svar 4 05-19-2008 03:49
Hur man samman 2 filer med awk? pdtak Shell-programmering och Skript 2 03-12-2008 01:12
Jämför 2 sorterade filer varungupta Shell-programmering och Skript 7 01-25-2008 01:07
Samman datum som filnamnet sierra_aar UNIX for Dummies Frågor & Svar 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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-07-2008
docaia docaia is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 15
samman bilder sorterad efter datum

Jag är en nybörjare i manusskrivning, jag försökte att göra följande
Jag har en uppsättning filer sorterade efter datum i formatet YYMMDD.s och. X och. R
Jag måste slå samman en header fil till dessa typer av filer så använde jag följande kod

Kod:
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

Jag förväntar mig att slå samman de filer baserat på användarens input.
Jag har 2 problem, det första på att den inte gör det till exempel om jag ange värdet för i och j vara 0530 och 0531 för 30 och 31 maj det söker efter en fil med namnet 08.345 istället för 080.530.
Det andra problemet är hur kan jag göra skriptet att arbeta för 2 olika månader? som om jag har den första filen som 300508 och sista filen som 050608, slingan inte kommer o arbete
  #2 (permalänk)  
Old 06-09-2008
mschwage mschwage is offline
Registered User
  
 

Join Date: Jul 2005
Ort: Oak Park, IL
Inlägg: 102
Problem nummer 1 är du blanda datum math med heltal matematik. Du kan inte lägga till 1 till din "0530" och räknar med att få den nästa dag. Till exempel finns det ingen integer "0530". Det finns ett heltal "530", och om du lägger till 1 till det du kommer att få "531". ... Inte "0531" som du behöver. Och som ni nämnde, att lägga till 1 för att det kommer inte att få dig i juni.

Problemet med skal datum aritmetik är ganska svårt. Se "Datum matematik i Linux shell script?": Teknisk support från Fråga Dave Taylor! .

När du gör din jämförelse kan du testa om ditt sista villkoret i endera av två sätt:
  • Om dagens datum \u003d\u003d slutdatum (sträng jämförelse)
  • Om den nuvarande iterationer antalet sekunder sedan epok är mindre än eller lika med slutdatum är antalet sekunder sedan epok.
Även här är ett par av flera problem måste du vara medveten om. Om du gör din matte med "antalet sekunder sedan Epoch"
  • Du kanske vill att din första dag som faktiskt midnatt av första dagen-det vill säga den 0'th andra av den dagen.
  • Du kanske vill att din andra datum för att verkligen 23:59:59 den dagen.
Det beror på om du gör din "börja <\u003d slut" jämförelse kan du jämföra 3pm om sista dag för att 2pm på sista dagen och att iterationen av scriptet körs inte.

Jag nämner detta eftersom det är lämpligt att faktiskt göra det datum math av:
  1. Konvertera den första dagen på det antal sekunder sedan epok
  2. Increment dagen genom att lägga till 86.400 (antalet sekunder i en dag) på dagen för varje iteration.
Du måste också vara medvetna om när årets förändringar. Glöm inte att du kan jämföra datum i januari till datum i december.
-mschwage
  #3 (permalänk)  
Old 08-16-2008
docaia docaia is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 15
Datum variabeldefinitionen

Tack för svaret, jag förstår vad du vill säga böter, bara en begäran:
vad är script-kommandot för att fastställa ett datum variabel? Det finns en variabel som kallas datum?
Jag försökte något liknande dag i och svag i som datum, men det fungerade inte.

Jag har även försökt "date-d $ (i) +"% Y% m% d "" men det sagt att jag inte är ett kommando

Kan du hjälpa mig om det?

Senast redigerad av docaia; 08-16-2008 vid 04:54.. Orsak: lägga till några info
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 01:54.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0