Portál AbcLinuxu, 10. května 2025 01:11

Dotaz: kopírování souborů podle data a do určitého počtu

23.6.2009 10:03 Pheek | skóre: 24 | blog: io
kopírování souborů podle data a do určitého počtu
Přečteno: 361×
Odpovědět | Admin
Dobrý den, mám adresáře a v nich spoustu souborů, chtěl bych z těhto adresářů vykopírovat soubory na jiné místo do stejných adresářů jako byl zdroj, s tím aby se začlo těma nejnovějšíma souborama a skončilo počtem 10 000 souborů a dál už nekopíroval, nevíte jak na to? Dejme tomu že mám adresáře test, test1, test2 a v nich dané soubory které se sem ukládají a mají ruzné datum uložení a ja potřebuji vykopírovat soubory od nejnovějšího tak aby se zachovala adresářová struktura ale skončilo se počtem 10 000 souborů.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.6.2009 11:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: kopírování souborů podle data a do určitého počtu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pomocí ls si vypište soubory patřičným způsobem setříděné (případně lze asi použít i sort), pomocí head vyberte prvních 10000 a výsledek pak kopírujte.
23.6.2009 11:06 Pheek | skóre: 24 | blog: io
Rozbalit Rozbalit vše Re: kopírování souborů podle data a do určitého počtu
Tak to jsem moc nepochopil, nebyl by nějaký praktický příklad?
23.6.2009 11:07 ams
Rozbalit Rozbalit vše Re: kopírování souborů podle data a do určitého počtu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nevim jak by to slo udelat efektivne, ale napada me toto:

1) vypsat vsechny soubory a cas jejich posledni modifikace v sekundach

2) setridit to sestupne a vzit jenom 10000 prvnich zaznamu

3) zkopirovat to se zachovanim struktury

Treba nejak takto:

ad 1) find -type f -print0 | xargs -0 stat -c '%Y %n'

ad 2) sort -nr | head -n 10000

ad 3) cut -f2- -d' ' | tar -cT - | tar -C kam_to_chceme -x

Kdyz to dame dohromady:

find -type f -print0 | xargs -0 stat -c '%Y %n' | sort -nr | head -n 10000 | cut -f2- -d' ' | tar -cT - | tar -C kam_to_chceme -x

 

23.6.2009 11:24 Pheek | skóre: 24 | blog: io
Rozbalit Rozbalit vše Re: kopírování souborů podle data a do určitého počtu
To je přesně ono, výborně děkuji, jen se ještě zeptat zda by tam šlo udělat to aby nebral v potaz jeden z adresářů? Třeba vynechal adresář TEST2 a vybíral jen adresáře TEST a TEST1.
23.6.2009 11:31 ams
Rozbalit Rozbalit vše Re: kopírování souborů podle data a do určitého počtu

Zamenit prvni find -type f -print0 za toto:

find . -path ./TEST2 -prune -o -type f -print 0

23.6.2009 11:32 ams
Rozbalit Rozbalit vše Re: kopírování souborů podle data a do určitého počtu

Omlouvam se, nesmi tam byt mezera mezi print a 0:

find . -path ./TEST2 -prune -o -type f -print0

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.