Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mtime einer Datei in Variable

Frage Entwicklung Batch & Shell

Mitglied: Erik72

Erik72 (Level 1) - Jetzt verbinden

14.04.2014 um 11:20 Uhr, 1190 Aufrufe, 9 Kommentare

Hallo,
ich möchte in einer unix-sh einen Dateinamen in einen Dateinamen.Erstellungsdatum(mtime) umbenennen.
Frage: Wie könnte ich das Erstellungsdatum einer Datei in eine Variable packen? Diese könnte ich dann auslesen und im mv-Befehl einfügen.
Danke für Eure Lösungsansätze...schöne Grüße
Erik
Mitglied: colinardo
14.04.2014, aktualisiert um 12:18 Uhr
Hi Erik,
Frage: Wie könnte ich das Erstellungsdatum einer Datei in eine Variable packen?
z.B. so
01.
file="deineDatei.txt" 
02.
filename=${file%.*} 
03.
extension=${file##*.} 
04.
datum=$(date -r "$file" +%F_%T) 
05.
mv "$file" "$filename.$datum.$extension"
Grüße Uwe
Bitte warten ..
Mitglied: Erik72
14.04.2014 um 13:30 Uhr
Hallo Uwe,
lieben Dank für Deine Mühe. Meine sh kennt die option -r bei date leider nicht.

date: illegal option -- r
Usage: date [-u] [+format]
date [-u] [mmddhhmm[[cc]yy]]
date [-a [-]sss.fff]


Hätte noch jemand eine Idee, das Erstellungsdatum in eine Variable zu packen?

Grüße
Erik
Bitte warten ..
Mitglied: colinardo
14.04.2014, aktualisiert um 13:37 Uhr
dann probiers halt mal damit
datum=$(stat -c %y test.txt | cut -d '.' -f1)
Bitte warten ..
Mitglied: Erik72
14.04.2014 um 13:41 Uhr
hmmmm, er will nicht....

$ ./move_in_mtime
./move_in_mtime[6]: stat: not found
Bitte warten ..
Mitglied: colinardo
14.04.2014, aktualisiert um 13:57 Uhr
auf was für einem System arbeitest du denn überhaupt ? scheint doch ziemlich abgespeckt zu sein....

dann habe ich hier noch was für dich:
find /pfad/zur/datei -name deineDatei.txt -printf '%TY-%Tm-%Td_%TX'
Bitte warten ..
Mitglied: Erik72
14.04.2014 um 14:10 Uhr
Das ist ein HP-UX B.11.31 und das Skript muss unter ksh laufen

Schade, deine letzte Idee will auch nicht.....

find: bad option -printf
Bitte warten ..
Mitglied: colinardo
14.04.2014, aktualisiert um 14:28 Uhr
Die Systeme kenne ich nicht, dann versuch es über die Ausgabe von ls. Jetzt haben wir langsam alles durch...
 ls -l deineDatei.txt | awk '{print $6"_"$7}'
Bitte warten ..
Mitglied: Erik72
14.04.2014 um 15:29 Uhr
Funktioniert! Danke! Es gibt nur ein kleines Problemchen. Dateien älter als ein Jahr werden mittels ls -l ohne Uhrzeit gelistet und somit beim move überschrieben.

430 Mar 16 2007 /pfad1/testfile
763 Mar 16 2007 /pfad2/testfile
834 Mar 16 2007 /pfad3/testfile

sobald ich diese files in /ziel/testfile.zeitstempel verschiebe, ist nur die letzte datei vorhanden, da Zeitstempel gleich.


bei files aus diesem jahr funktioniert es gut:

270 Apr 14 14:59 /pfad1/testfile
233 Apr 14 15:04 /pfad1/testfile
210 Apr 14 15:15 /pfad1/testfile
Bitte warten ..
Mitglied: colinardo
14.04.2014, aktualisiert um 16:29 Uhr
OK in dem Fall nehme mal das:
ls -l --time-style='+%Y-%m-%d_%H:%M:%S' deineDatei.txt | awk '{print $6}'
hoffentlich kennt deine Kiste diesen Parameter wenigstens ...sonst nehm ne 9mm und blas ihn in die ewigen Jagdgründe
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...