Fórum Ubuntu CZ/SK

Ostatní => Otevřená diskuze kolem Linuxu a OSS => Téma založeno: Standa99 11 Září 2014, 22:23:38

Název: Smazat soubory kromě několika posledních [vyřešeno]
Přispěvatel: Standa99 11 Září 2014, 22:23:38
Zkouším smazat soubory kromě 144 posledních a nedaří se mi to.
Kód: [Vybrat]
ls -rt | head -n -144 | rm -f
Dík za nakopnutí.

Doplním, že příkaz proběhne v pořádku (bez žádné varovné hlášky), ale soubory se nesmažou, přitom příkaz
Kód: [Vybrat]
ls -rt | head -n -144
vypíše všechny soubory správně (kromě těch 144 posledních).
Název: Re:Smazat soubory kromě několika posledních
Přispěvatel: Cuore 12 Září 2014, 00:57:01
Citace
....ale soubory se nesmažou
To se nedivím
Co přesně potřebuješ? je pro tebe zásadní držet počet 144 posledních souborů, nebo stáří souborů
to bych pak řešil smazáním soubru, který byl naposledy otevřem před více než řekněme 30 dny
Kód: [Vybrat]
find . -atime +30 -exec rm {} \;nebo smazáním souboru, který byl vytvořen před více než 30 dny
Kód: [Vybrat]
find . -mtime +30 -exec rm {} \;edit: ještě by to šlo vyřešit pomocí parametru
Citace
-delete
kde by se pak mohlo vypustit
Citace
-exec rm {} \;
Název: Re:Smazat soubory kromě několika posledních
Přispěvatel: Standa99 12 Září 2014, 07:51:01
Potřebuju dodržet počet, protože sbírám obrázky z webkamery (co 5 min.) a jednou za hodinu bych chtěl udělat časosběrné video za posledních 12 hodin. Takže chci smazat staré snímky, zkopírovat těch posledních 144 do jiného adresáře a tam je zkonvertovat (avconv, ffmpeg) do videa.

Edit:
Tohle jsem obšlehnul a funguje to:
Kód: [Vybrat]
ls -rt | head -n -144 | xargs -d '\n' rm -f