Skip navigation.

exploreopera

| Help

Sign up | Help

ThoBlog

die Stadt, das Web und der Rest

Posts tagged with "perl"

SMS sortieren von Nokia PC Suite

, ,

Mit Nokia PC Suite kann man SMS auf dem PC abspeichern. Leider erhalten die SMS (jede in einer einzelnen Datei) dabei das Datum des Abspeicherns und nicht das Datum der SMS. Sortierung nach Datum ist so unmöglich. Mit einem Perl-Script kann man das beheben (in einem Ritt für alle *. vmg des Verzeichnisses):

  • Datum/Zeit aus der (Text-)Datei auslesen (Unicode)
  • Zeitstempel berechnen (Funktion Mktime aus Date-Calc)
  • Datum/Zeit setzen


Das Ganze lief bei mir unter Win XP mit Active Perl, das Package Date muß man bei Bedarf noch installieren, eventuell mit dem Package-Manager.

#!/usr/bin/perl

use Date::Calc qw(:all);

$orgein = $/;

#-- für alle Dateien -----------------------------------------------
#-- für alle Dateien des Verzeichnisses
if (!opendir(DIR, ".")) { die "Kann Verzeichnis nicht lesen, Abbruch!\n"; }
@files = readdir(DIR);
closedir(DIR);

jededatei:
foreach $file (@files) {
  if ($file =~ m/\.vmg$/i) {
#-- Zeit aus Datei lesen ----------------------------------------------
if (!open (DAT, $file)) { 
print "Kann Datei [$file] nicht lesen, Abbruch!\n"; 
next jededatei;
}
undef $/;
$dat = <DAT>;
close (DAT);
$/ = $orgein;
$dat =~ s/\x00//g;
if ($dat !~ m/Date:(\d\d)\.(\d\d)\.(\d\d\d\d) (\d\d)\:(\d\d)\:(\d\d)/i) {
$dat =~ m/Date:([^\r\n]+)[\r\n]/is;
print "--------------------\n$dat\n--------------------\n";
die "Falsches Format Datum in Datei [$file] : [" . $1 . "], Abbruch!\n";
}

$D = $1; $M = $2; $Y = $3;
$h = $4; $m = $5; $s = $6;

#-- Zeitstempel berechnen ---------------------------------------------
#-- Funktion aus Date-Calc
$timestamp = Mktime($Y,$M,$D, $h,$m,$s);

#-- timestamp setzen --------------------------------------------------
print "$file - $D.$M.$Y $h:$m:$s - $timestamp\n";
utime $timestamp, $timestamp, $file;
  }
}


Nachtrag

Noch weiter ginge diese Idee, alle SMS in eine Datei zu schreiben. Die Werte werden Tabulator-separiert. Damit kann man die Datei in Excel oder Open Office Calc öffnen. Wen die Lösung interessiert, bitte melden.

Tag Cloud fuer Google Suche

, , ,

via Google Blogscoped

Google Search Cloud, ein Perl-Script zur Anzeige von Google Referern in den logfiles.
July 2008
SMTWTFS
June 2008August 2008
12345
6789101112
13141516171819
20212223242526
2728293031