Fórum Ubuntu CZ/SK
Ostatní => Otevřená diskuze kolem Linuxu a OSS => Téma založeno: Standa99 11 Září 2014, 22:23:38
-
Zkouším smazat soubory kromě 144 posledních a nedaří se mi to.
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
ls -rt | head -n -144
vypíše všechny soubory správně (kromě těch 144 posledních).
-
....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
find . -atime +30 -exec rm {} \;
nebo smazáním souboru, který byl vytvořen před více než 30 dny
find . -mtime +30 -exec rm {} \;
edit: ještě by to šlo vyřešit pomocí parametru -delete
kde by se pak mohlo vypustit-exec rm {} \;
-
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:
ls -rt | head -n -144 | xargs -d '\n' rm -f