The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
automatische tar xf der Datei mit unbekannten Namen tkrahn UNIX for Dummies Questions & Answers 3 07-11-2007 08:25 AM
Automatischer Download der CSV-Datei mit Hilfe eines Shell-Skript Figaro Shell Programmierung und Scripting 1 01-13-2007 08:53 PM
Datei erhöhen chapmana UNIX for Dummies Questions & Answers 7 11-24-2006 09:54 AM
Automatische Kopie der Datei-Inhalt in die Zwischenablage ilak1008 Shell Programmierung und Scripting 5 10-10-2006 12:43 PM
unix automatische File-Transfer - tagem UNIX für Fortgeschrittene und Experten 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-28-2007
Steiner steiner is offline
Registrierte Nutzer
  
 

Join Date: Jul 2003
Ort: Hambach - Frankreich
Beiträge: 29
Automatische Datei-Namen mit der Erhöhung

Hallo,

Eine Datei mit dem Namen c15a ist auf meiner CD alle 10 Minuten.

Ich muss diese Datei umbenennen mit Datum und die tatsächlich mit einer automatischen Erhöhung auf 5 Ziffern, so wie: c15a.20070528.00001 und die nächste Datei wird: c15a.20070528.00002.

Am nächsten Tag, damit morgen die fünf Ziffern müssen auf 00.001, so für die Zukunft: c15a.20070529.00001.

Ich habe das Skript mit dem umbenennen mit dem Datum, aber ich habe ein Problem mit der automatischen Erhöhung.

So können Sie mir helfen mit, dass die zunehmende Zahl fünf Ziffern und automatisch, wenn der Tag geändert.

Also vielen Dank, Bye.
  #2 (permalink)  
Old 05-28-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Apr 2004
Ort: Bordeaux, Frankreich
Posts: 1433
Sie können versuchen, dass so etwas wie:

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
Registrierte Nutzer
  
 

Registriert seit: Mai 2007
Beiträge: 219
Entfällt die Erklärung ...

Zuletzt bearbeitet von lorcan; am 05-29-2007 01:50 AM.. Grund: Erklärung falsch war wrt die Frage
  #4 (permalink)  
Old 05-29-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Sep 2006
Beiträge: 2556
Zitat:
Zitat von lorcan
Aigles, nur eine kleine Korrektur in Ihrem Code,
, um die neueste Datei haben wir zu sortieren auf der Grundlage der Zeit,

, so der 4. Zeile hätte wie


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

normalerweise, wenn sie mit tail -1, würden wir wollen ls-1tr statt. aber für diesen speziellen Fall, glaube ich, weil die Dateinamen sind bereits Zeitmarkierung, mit einer Zahl auf der Rückseite, wenn Sie ls -1, ihre immer noch "sortiert", um neueste Datei.
  #5 (permalink)  
Old 05-29-2007
lorcan lorcan is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2007
Beiträge: 219
Zitat:
Zitat von ghostdog74
normalerweise, wenn sie mit tail -1, würden wir wollen ls-1tr statt. aber für diesen speziellen Fall, glaube ich, weil die Dateinamen sind bereits Zeitmarkierung, mit einer Zahl auf der Rückseite, wenn Sie ls -1, ihre immer noch "sortiert", um neueste Datei.

Ja, tatsächlich sind Sie richtig. Plz ignorieren meiner bisherigen msg
  #6 (permalink)  
Old 05-29-2007
Steiner steiner is offline
Registrierte Nutzer
  
 

Join Date: Jul 2003
Ort: Hambach - Frankreich
Beiträge: 29
Automatische Erhöhung der Datei

Hallo,

Vielen Dank für Ihre schnelle Antwort.

Nur eine Frage: die etwas unterhalb befindet sich in der C-Programmierung, nicht wahr?

new_filename \u003d $ (printf "% s% s.% 05.5d" "$ filename" "$ Datumstempel" "$ number")

Das gleiche Zeile in der Shell-Skript verbessert werden kann, denn ich bin kein C-Entwickler.

Ok vielen Dank bye.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 08:45 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0