Portál AbcLinuxu, 12. května 2025 06:28

Dotaz: Prejmenovani pomoci PERLu

20.2.2006 10:48 Flip
Prejmenovani pomoci PERLu
Přečteno: 84×
Odpovědět | Admin
Ahoj, nejak mi to nejde, co delam spatne?
#!/usr/bin/perl
print "\n";
($sek,$min,$hod,$den,$mes,$rok) = localtime(time);
$rok += 1900;
$mes += 1;
$date ="$rok";
print "$date";
print "\n";

  if ($mes < 10){ $date = "$date-0$mes";
  }else{ $date = "$date-$mes"; }
print "$date";
print "\n";

  if ($den < 10){ $date = "$date-0$den";
  }else{ $date = "$date-$den"; }
print "$date";
print "\n";

  if ($hod < 10){ $date = "$date-0$hod";
  }else{ $date = "$date-$hod"; }
print "$date";
print "\n";

  if ($min < 10){ $date = "$date-0$min";
  }else{ $date = "$date-$min"; }

print "$date";
print "\n";
$sjmeno = "/home/xxx/osms.txt";
$njmeno = "/home/xxx/osms$date.txt";
print "$sjmeno $njmeno";
print "\n";
rename($sjmeno,$njmeno);
print "\n";
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.2.2006 11:17 Ja.
Rozbalit Rozbalit vše Re: Prejmenovani pomoci PERLu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli ti to nejde spustit, tak to asi bude tim, ze mas napsanu cestu interpretu a print na jednom radku(predpokladam, ale ze jsi jenom blbe zformatoval tento text).

Musis mit:
#!/usr/bin/perl
print "\n\n\n\n\n\n";

Jinak to funguje.

Pokud to neprejmenovava ten soubor, koukni na jeho vlastnika a prava.
PS: a nauc se klast otazky...za tuhle bych te...;)
20.2.2006 11:25 Ja.
Rozbalit Rozbalit vše Re: Prejmenovani pomoci PERLu
uz to nekdo predelal...diky:)
20.2.2006 11:38 Flip
Rozbalit Rozbalit vše Re: Prejmenovani pomoci PERLu
Omlouvam se za formatovani.

Scrip funfuje ale neprejmenovava. Prava jsou OK.
20.2.2006 11:28 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Prejmenovani pomoci PERLu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, na zdrojáky příště použij tag pre. No a popis chyby stylem "nějak mi to nejde" ... to si koleduje o odpověď ve stylu křišťálové koule. Zkus trochu blíže popsat svůj problém.

OT: Perl neznám, ale nejde tam napsat něco jako print "$date\n";?
When your hammer is C++, everything begins to look like a thumb.
20.2.2006 12:05 barmey
Rozbalit Rozbalit vše Re: Prejmenovani pomoci PERLu
Odpovědět | | Sbalit | Link | Blokovat | Admin
hmm ... len tak bez testovania, skus spustit nasledovny skript

#!/usr/bin/perl

use POSIX qw( strftime );

my $date = strftime ('%Y-%m-%d-%H-%M', localtime);

sjmeno = "/home/xxx/osms.txt";
$njmeno = "/home/xxx/osms$date.txt";

rename($sjmeno,$njmeno) or die "Nepodarilo sa: $!\n";
20.2.2006 12:58 Flip
Rozbalit Rozbalit vše Re: Prejmenovani pomoci PERLu HOTOVO
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji, takhle to je OK.

Patrně neco špatně nastaveno v localtime, ale to sem uz nepatri.
#!/usr/bin/perl

use POSIX qw( strftime );

my $date = strftime ('%Y%m%d%H%M%s', localtime);

$sjmeno = "/home/xxx/osms.txt";
$njmeno = "/home/xxx/osms$date.txt";

rename($sjmeno,$njmeno) or die "Nepodarilo sa: $!\n";

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.