Chcę archiwizować pliki (z tar) o rozmiarze poniżej 3 MB. Ale chcę również zachować katalogi, w których te pliki istnieją. (więc nie mogę użyć find
polecenia). Chcę tylko uniknąć plików o rozmiarze powyżej 3 MB. Jak można to zrobić?
11
find
ponownie?Odpowiedzi:
Prostsze niż myślisz:
W przypadku częściowo powiązanej notatki (odnoszącej się do stwierdzenia, że nie można użyć funkcji znajdź), aby uzyskać listę wszystkich plików (w tym katalogów) pod ścieżką pomniejszoną o pliki większe niż 3 MB, użyj:
Możesz wtedy zrobić:
Ale wolę pierwszy, ponieważ jest prostszy, wyraźnie wyraża to, czego chcesz i doprowadzi do mniej niespodzianek.
źródło
Jeśli nazwa pliku zawiera nawiasy kwadratowe, w niektórych systemach należy je wyraźnie wykluczyć. Na przykład
źródło
Jeśli próbujesz to zrobić na serwerze za pośrednictwem SSH, z tego powodu nie będzie działać . Aby obejść ten problem, możesz użyć potoków i xargs:
źródło