Używam następującego polecenia, aby wyczyścić katalog, pliki i katalogi powyżej 30 dni, i przenieść je do katalogu archiwum, który mogę usunąć po kilku tygodniach, jeśli nikt nie poprosi o ich odzyskanie. Katalog docelowy ma podkatalogi według nazwy użytkownika, podobnie jak katalog archiwum.
Oto polecenie, którego używam:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
Zasugerowałem zmodyfikowaną wersję tego, aby odpowiedzieć na pytanie zadać ubuntu inny użytkownik edytować kod, aby zmienić końca linii \;
dla +
jak to szybciej (i bardziej poprawne?). Spójrz tutaj
Jednak użycie +
w ten sposób działa, jeśli -exec
polecenie ls -lh
nie zawiera rzeczywistego polecenia, którego używam. Jeśli spróbuję, pojawi +
się komunikat o błędzie:
find: missing argument to '-exec'
Nie rozumiem, dlaczego tak się zachowuje ani jakie byłoby prawidłowe polecenie. Proszę nie pisać tylko korekty polecenia, chciałbym raczej zrozumieć niż ślepo stosować się do sugestii.
+
dostarcza wielu argumentów do tego samego polecenia, ale mv
nie mogę sobie z tym poradzić!