The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
kjøre kode på filene i sortert rekkefølge-hjelp! epi8 Shell programmering og Skripting 1 05-20-2008 04:30
sortere etter dato, og sammen tre første jlarios UNIX for Dummies Spørsmål og svar 4 05-19-2008 03:49
Hvordan sammen 2 filer ved hjelp awk? pdtak Shell programmering og Skripting 2 03-12-2008 01:12
Sammenlign 2 sortert filer varungupta Shell programmering og Skripting 7 01-25-2008 01:07
Sammen dato til filnavn sierra_aar UNIX for Dummies Spørsmål og 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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-07-2008
docaia docaia is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 15
sammen filer sortert etter dato

Jeg er en nybegynner i Skriptskriving, jeg prøvde å gjøre følgende
Jeg har et sett med filer sortert etter dato i formatet YYMMDD.s og. X og. R
Jeg må sammen en topp-fil til disse settene med filer så jeg brukte 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 til sammen filene basert på brukerens input.
Jeg har 2 oppgaver, den første på er at det ikke gjør dette for eksempel hvis jeg angi verdien for i og j skal 0530 og 0531 for 30 og 31 mai den søker etter en fil kalt 08345 i stedet for 080.530.
det andre problemet er hvordan kan jeg få skriptet til å arbeide for 2 ulike måneder? som jeg har den første filen som 300.508 og siste filen som 050.608, loopen er ikke o jobbe der
  #2 (permalink)  
Old 06-09-2008
mschwage mschwage is offline
Registrert bruker
  
 

Bli Dato: juli 2005
Beliggenhet: Oak Park, IL
Innlegg: 102
Problem nummer 1 er du blander dato math med heltallige matematikk. Du kan ikke legge til 1 til "0530" og forventer å komme neste dag. For eksempel er det ingen heltall "0530". Det er et heltall "530", imidlertid, og hvis du legger 1 til den får "531". ... Ikke "0531", som du trenger. Og, som du nevnte, legge 1 til som ikke vil få deg inn i juni.

Problemet med skallet dato aritmetikk er ganske vanskelig. Se "Dato math i Linux shell script?": Tech Support fra Ask Dave Taylor! .

Når du gjør din sammenligning, kan du teste på slutten tilstand på en av to måter:
  • Hvis gjeldende dato \u003d\u003d sluttdatoen (string sammenligning)
  • Hvis gjeldende iterasjoner antall sekunder siden epoke er mindre enn eller lik sluttdatoen er antall sekunder siden epoke.
Også, her er et par mer gotchas må du være klar over. Hvis du gjør din dato matte med "antall sekunder siden epoke",
  • Du ønsker kanskje ditt første daten faktisk midnatt den første datoen-det vil si 0'th andre av dagen.
  • Du ønsker kanskje ditt andre dato for å faktisk være 23:59:59 på denne dagen.
Dette er fordi hvis du gjør din "begynne <\u003d end" sammenligning, kan du sammenligne 3pm på enden dag til 2pm på enden dag og at gjentakelse i skriptet vil ikke kjøre.

Jeg nevner det fordi det er praktisk å faktisk gjøre dato math av:
  1. Konverter den første datoen for antall sekunder siden epoken
  2. Øke dato ved å legge 86.400 (antall sekunder i en dag) til datoen for hver gjentakelse.
Du må også være klar over når året endringer. Ikke glem du kan sammenligne datoer i januar til datoer i desember.
-mschwage
  #3 (permalink)  
Old 08-16-2008
docaia docaia is offline
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 15
Dato variable definisjonen

Takk for svar, jeg får det du vil si fine, bare en forespørsel:
hva er script-kommandoen til å identifisere en dato variabel? er det en variabel kalt dato?
Jeg prøvde noe dato i, og svak i Ås dato, men det fungerte ikke.

Jeg har også prøvd "date-d $ (i) +"% Y% m% d "" men det sies at jeg ikke er en kommando

kan du hjelpe meg med det?

Sist endret av docaia; 08-16-2008 på 04:54.. Årsak: legge litt info
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 09:44.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0