Portál AbcLinuxu, 14. května 2025 00:53

Dotaz: hromadna změna času souborů

20.2.2009 10:41 Gusta
hromadna změna času souborů
Přečteno: 685×
Odpovědět | Admin

Dobrý den,

mám adresář, kde je několik set souborů v tomto formátu: list_290109_01.pdf , kde je dd/mm/rr_pořadí.

 

Bohužel se mi u všech souborů změnilo datum. Můžete mi říct, jak podle toho názvu všem souborům to datum změním?

 

Díky.

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.2009 11:09 artec | skóre: 24
Rozbalit Rozbalit vše Re: hromadna změna času souborů
Odpovědět | | Sbalit | Link | Blokovat | Admin

No, resit se to da plno zpusoby. Ja bych na to sel asi tak, ze bych pres find vylistoval adresar, pres sed nebo awkacko udaje ze souboru vytahnul regexem a pak zmenil datum souboru pres touch. Mozna je to moc slozite a nekdo by to udelal rychleji nejak jinak.

20.2.2009 14:19 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů

Hmmmm... jsem zacatecnik a tohle je pro me spanelska vesince... :-(

20.2.2009 14:35 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: hromadna změna času souborů
přibližne takto:
find . -print | perl -pe 's/^.*_(\d\d)(\d\d)(\d\d)_.*\n$/20\3-\2-\1 $_/' | while read d n; do touch -d $d "$n"; done 
In Ada the typical infinite loop would normally be terminated by detonation.
20.2.2009 21:03 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů

No skoro to funguje, diky! Jen me to ale napise:

touch: neplatný formát data „.“

 

A u nejakych souboru je rok 00:00  a u jinych 2008 (coz je dobre) .... nevim, vubec, kde hledat chybku..

20.2.2009 22:08 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: hromadna změna času souborů
K findu zkuste přidat parametr -mindepth 1.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
20.2.2009 22:11 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů

Myslim, ze to nebude mit vliv.. vsechny soubory mam v jednom adresari, kde to spoustim...

20.2.2009 22:17 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: hromadna změna času souborů
Myslim, ze to nebude mit vliv..
Ach jo.
find . -print
. <- tohle je ta tečka, na kterou to řve
./1.txt
./2.txt
versus
find .  -mindepth 1 -print
./1.txt
./2.txt
I am always ready to learn although I do not always like to be taught. (W. Churchill)
20.2.2009 22:41 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů

Pardon:-) uz to nerve, ale rok se stejne u nejakych souboru neprepsal --> 00:00

21.2.2009 08:11 Ash | skóre: 53
Rozbalit Rozbalit vše Re: hromadna změna času souborů
A v jakém formátu je název těch souborů? list_DDMMYY_NN.pdf to asi nebude. Nějaký příklad?
21.2.2009 08:44 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů

Takze soubory vypadaji takto: list_251108_01.pdf . Zhruba pulku jich to prejmenovalo a pulku ne... Ty neprejmenovane jsem na zkousku dal do zvlastniho adresare a neprejmenovalo to stejne zase ani jeden. Takze se na tom prikazu neco nelibi, nevim ale co, je to pojmenovany "stejne" jako ty prejmenovany ... stejny prava atd..

21.2.2009 13:11 Ash | skóre: 53
Rozbalit Rozbalit vše Re: hromadna změna času souborů
Aha, tím se to vysvětluje. Očasovalo je to správně, jen výpis je takový ... linux specifický :) Pro data stará méně než... nevím tak půl roku? se čas vypisuje bez udání roku (rozumí se tento rok) ale místo roku je uveden čas (protože u souborů z nedávné doby vás často zajímá i čas, kdežto u starých souborů stačí většinou vědět že to je "z roku 2001"). Dejte
ls -l --full-time
a uvidíte sám. Formát výpisu lze korigovat proměnnou LC_TIME.
21.2.2009 13:17 Ash | skóre: 53
Rozbalit Rozbalit vše Re: hromadna změna času souborů
Oprava: nerozumí se "tento rok", ale "období v minulosti < cca 1 rok", čili například listopad loňského roku, to je ještě "nedávno". Pokud vám to nevyhovuje stojí za úvahu třeba LC
_TIME=en_US.
bash$ LC_TIME=en_US ls -l
total 0
-rw------- 1 ash users 0 2008-11-24 00:00 list_251108_01.p
21.2.2009 16:36 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů

No jo, pravda.. hlava mapa :-) Takhle mi to staci, za nejakou dobu se to samo zmeni na rok a bude klid.. diky.

21.2.2009 17:57 Gusta
Rozbalit Rozbalit vše Re: hromadna změna času souborů
Odpovědět | | Sbalit | Link | Blokovat | Admin

Proc se mi meni datum a cas souboru, ktery kopiruju na mountly sitovy disk?

21.2.2009 23:05 Ash | skóre: 53
Rozbalit Rozbalit vše Re: hromadna změna času souborů
Založte si nový dotaz, problém přejmenování dle názvu souboru je vyřešen. Ať tu v tom není... nepořádek :)

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.