получение содержания нескольких подпапок, и перемещает их в единственную папку

Я загрузил более чем 7 000 электронных книг с Проекта Гутенберг, но у меня есть проблема. Каждая книга была помещена в свой собственный zip-файл, и каждому zip-файлу дали ее собственную папку. Моя проблема состоит в том, что я не хочу должным быть пройти каждый файл и разархивировать их и положить электронные книги на одно место вручную. Если я могу получить zip-файлы в одном месте, это будет легкое задание для распаковки всех их с одной командой.

Так, как я получаю свои файлы в одну папку, вместо в их собственных подпапках?

2
задан 29 February 2012 в 20:53

3 ответа

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

find /path/under/zip/folders -name "*.zip" -exec unzip {} -d /target/path \;
4
ответ дан 2 December 2019 в 03:22

Подстановочный подход может быстро стать грязным, если существуют больше, чем единственный уровень вложенных папок...

Я обычно выполняю подобные задачи (и большинство других операций файла) использование Полуночного Командующего. Установите его использование

sudo apt-get install mc

Затем только запустите его путем ввода 'мГц', перейдите к папке, в которой находятся электронные книги, поразите Esc, затем Ctrl-?, введите критерии поиска в хите окна результата [Panelize]. Теперь можно выбрать все zip путем нажатия * и копировать/перемещать их в каталог в другой области путем удара F5 или F6

0
ответ дан 2 December 2019 в 03:22

У Вас есть опыт с помощью подстановочных знаков? Вы могли сделать что-то как

mv common_part_of_folder_name*/*.zip .

где символ звездочки в основном означает "что-либо". Если у Вас только есть gutenberg в Вашем каталоге, можно просто работать

mv ./*/*.zip .

получить все zip-файлы в Ваш текущий каталог. Если это намного более сложно, чем это, Perl или сценарий оболочки могли бы быть способом пойти.

-1
ответ дан 2 December 2019 в 03:22

Другие вопросы по тегам:

Похожие вопросы: