У меня есть каталог, в котором новые файлы .zip
размещаются каждый день. Мне нужно найти новые файлы за последний день и разархивировать файлы каждый в свой собственный каталог в другом месте. То, что я нашел с большим поиском, почти делает это для меня.find -exec разархивировать несколько файлов .zip, каждый в свою собственную директорию, где источник и назначение разные
find /source1/source2/source3 -maxdepth 1 -type f -mtime -1 \
-exec sh -c 'unzip -d /dest1/dest2/"${1%.*}" "$1"' _ {}
Проблема с вышеуказанной линии, является каталог назначения он пытается создать в /dest1/dest2/source1/source2/source3/(dir that is the filename of the zip)/{unzipped files}
мне это нужно, чтобы быть просто /dest1/dest2/{filename}
Есть ли способ лишить исходные каталоги из переменной ${1%.*}
? Или, если есть лучший способ сделать это, я открыт для любого предложения.
, который сделал шаг ближе, но в папке назначения мне нужно, чтобы каждый почтовый индекс распаковывался в свою папку. выше работало, но оно сбрасывало все почтовые индексы в одну папку. – Sanren
Каково название папки, в которую были загружены все файлы, и какое имя она должна иметь вместо этого? – phlogratos
Я должен был уточнить в исходном вопросе, мне нужен пункт назначения/dest1/dest2/(dir, который является именем файла zip)/{распакованные файлы} – Sanren