Команды оболочки или сценарий, чтобы распаковать, добавить текстовый файл и разархивировать

8

Я создал 200 zip-файлов для работы, но понял, что забыл добавить .txt к каждому из них. Вместо того, чтобы часами переделывать эту работу, я буду признателен за любую помощь.

Есть ли способ, которым кто-нибудь знает, используя bash, который разархивирует, добавит .txt файл и разархивирует все 200 файлов? Имя файла .txt не изменит только файлы .zip.

Спасибо.

Джошуа Айви
источник
3
Имхо, речь идет об инструменте Ubuntu по умолчанию и, следовательно, о теме.
pLumo

Ответы:

14

Вам даже не нужно разархивировать файлы, вы можете обновить существующий файл:

zip -u existing.zip file.txt

из zipруководства:

update (-u)
    Update existing entries if newer on the file system and add new files. 
    If the archive does not exist issue warning then create a new archive.

Если вы хотите добавить полную папку, добавьте -r.


Чтобы обновить несколько zip-файлов, сделайте что-то вроде этого:

for z in *.zip; do
    zip -u "$z" file.txt
done

Смотрите этот связанный вопрос на U & L.

pLumo
источник