Próbowałem szukać plików i spakować je z następującym commmandjaki sposób można wyszukiwać pliki i zip je w jednym pliku zip
find . regexpression -exec zip {} \;
jednak nie działa. Jak mogę to zrobić?
Próbowałem szukać plików i spakować je z następującym commmandjaki sposób można wyszukiwać pliki i zip je w jednym pliku zip
find . regexpression -exec zip {} \;
jednak nie działa. Jak mogę to zrobić?
Komenda używasz potrwa zip na każdy plik osobno, spróbuj tego:
find . -name <name> -print | zip name.zip [email protected]
[email protected]
mówi zip do odczytu plików z wejścia, od człowieka zip(1):
- @ pliku listy. Jeśli lista plików jest określona jako - @ [Nie na MacOS], zip pobiera listę plików wejściowych ze standardowego wejścia zamiast z wiersza poleceń.
Można również podać nazwiska w wyniku polecenia find:
zip name.zip `find . -name <name> -print`
Jest to funkcja powłoki używasz. Możesz wyszukiwać "backticks", aby określić sposób, w jaki twoja powłoka to obsługuje.
działa dokładnie tak, jak tego oczekiwałem. – ferdynator
Twoja odpowiedź jest blisko, ale to może działać lepiej:
find -regex 'regex' -exec zip filname.zip {} +
To będzie umieścić wszystkie pliki pasujące w jednym pliku zip o nazwie filename.zip. Nie musisz martwić się znakami specjalnymi w nazwie pliku (jak podział wiersza), które byś zrobił, gdybyś wyposażył wyniki.
czy możesz to wyjaśnić - symbol @? – LOGAN
@LOGAN tak, sprawdź aktualizację – iabdalkader
@LOGAN, jeśli to odpowiada na twoje pytanie, następnie uprzejmie zaakceptuj odpowiedź. – iabdalkader