The UNIX and Linux Forums  


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
automatiske tar XF fil med ukendt navn tkrahn UNIX for dummyer Spørgsmål & svar 3 07-11-2007 08:25 AM
Automatisk download af csv-fil ved hjælp af en shell script Figaro Shell Programmering og Scripting 1 01-13-2007 08:53 PM
File stigning chapmana UNIX for dummyer Spørgsmål & svar 7 11-24-2006 09:54 AM
Automatisk Kopi af filens indhold til Udklipsholder ilak1008 Shell Programmering og Scripting 5 10-10-2006 12:43 PM
UNIX automatisk filoverførsel tagem UNIX for Advanced & Ekspertsøgning Brugere 4 11-14-2005 08:50 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 05-28-2007
Steiner steiner is offline
Registreret Bruger
  
 

Join Date: Jul 2003
Beliggenhed: Hambach - Frankrig
Stillinger: 29
Automatisk navn fil med stigning

Hej,

En fil ved navn c15a er registreret på min disk alle 10 minutter.

Jeg skal omdøbe denne fil med de faktisk Dato og med en automatisk forhøjelse nummer på 5 cifre, så som: c15a.20070528.00001 og den næste fil vil være: c15a.20070528.00002.

Den næste dag, så i morgen de fem cifre, skal nulstilles til 00.001, så i morgen: c15a.20070529.00001.

Jeg har gjort scriptet med omdøbe med den dato, men jeg har et problem med den automatiske forøgelse af antallet.

Så kan du hjælpe mig med at stigende fem cifre antal og automatisk nulstilling, når dagen er ændret.

Så tak mange, bye.
  #2 (permalink)  
Old 05-28-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2004
Beliggenhed: Bordeaux, Frankrig
Posts: 1.433
Du kan prøve noget lignende, at:

Code:
filename=c15a

datestamp=$(date +%Y%m%d)
last_file=$(ls -1 $filename.$datestamp.* 2>/dev/null | tail -1)
if [ -z "$last_file" ]
then
  number=1
else
  number=$(( ${last_file##*.} + 1 ))
fi
new_filename=$(printf "%s.%s.%05.5d" "$filename" "$datestamp" "$number")

mv $filename $new_filename

Jean-Pierre.
  #3 (permalink)  
Old 05-29-2007
lorcan lorcan is offline
Registreret Bruger
  
 

Join Date: May 2007
Posts: 219
Udgår oversigten ...

Senest redigeret af lorcan; 05-29-2007 kl 01:50 AM.. Årsag: Erklæring var forkert wrt spørgsmålet
  #4 (permalink)  
Old 05-29-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 2555
Citat:
Oprindeligt Indsendt af lorcan
Aigles, Bare en lille rettelse i din kode,
at hente den nyeste fil, vi er nødt til at sortere baseret på den tid,

så det 4. linje skulle have været gerne


Code:
last_file=$(ls -t1 $filename.$datestamp.* 2>/dev/null | tail -1)

normalt, hvis de anvendes med hale -1, vil vi gerne ls-1tr stedet. Men i dette særlige tilfælde, tror jeg, fordi de filnavne er allerede tidsstemplede, med et nummer på ryggen, når du gør ls -1, dens stadig "sorteret" til nyeste fil.
  #5 (permalink)  
Old 05-29-2007
lorcan lorcan is offline
Registreret Bruger
  
 

Join Date: May 2007
Posts: 219
Citat:
Oprindeligt Indsendt af ghostdog74
normalt, hvis de anvendes med hale -1, vil vi gerne ls-1tr stedet. Men i dette særlige tilfælde, tror jeg, fordi de filnavne er allerede tidsstemplede, med et nummer på ryggen, når du gør ls -1, dens stadig "sorteret" til nyeste fil.

Ja, faktisk er din er korrekte. Plz ignorere mit tidligere msg
  #6 (permalink)  
Old 05-29-2007
Steiner steiner is offline
Registreret Bruger
  
 

Join Date: Jul 2003
Beliggenhed: Hambach - Frankrig
Stillinger: 29
Automatisk stigende fil

Hej,

Tak for dit hurtige svar.

Lige et spørgsmål: den lille nedenfor er i C-kodning, er det ikke?

new_filename \u003d $ (printf "% s.% s.% 05.5d" "$ filename" "$ datomærke" "$ antal")

Samme linje i shell script kan blive bedre, fordi jeg ikke er en C Udvikler.

Ok tak mange farvel.
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 03:27 AM.


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