2016-10-13 2 views
0

у меня есть такие файлы, как этоКак распаковать файлы в Linux, когда другие файлы присутствуют

a1.tif 
a2.tif 
a1.zip 
sa.zip 
ff.zip 
wqqq.zip 
  1. Я хочу, чтобы разархивировать только архивы застежка-молнии и игнорировать .tif файлы
  2. Также игнорируйте те .zip-файлы, которые уже были распакованы.

Я получаю эту

unzip /*zip 
unzip: cannot find or open /*zip, /*zip.zip or /*zip.ZIP. 
+1

'распакуйте * .zip' или' распакуйте ./* zip' – doublesharp

+0

он показывает, как имя файла не совпадают ....:. Предупреждение: имя файла не соответствует: – maximusdooku

+0

Внимание: имя файла не соответствует: ./no85pr50. zip – maximusdooku

ответ

2

Вы ищете что-либо в корневом каталоге, который заканчивается с «молнией». Используйте *.zip для любого файла в текущем каталоге, заканчивающегося на «.zip», или более явно используйте ./*.zip, ./, являющийся текущим каталогом.

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

find . -name '*.zip' -exec unzip {} \; 
+0

Спасибо. Это работает. – maximusdooku

+0

Он продолжает спрашивать меня о разрешении и набирать «n» каждый раз. Как заставить его пропустить все файлы, которые уже доступны: [y] es, [n] o, [A] ll, [N] one, [r] ename – maximusdooku

+0

Возможно, этот? да n | найти . -name '* .zip' -exec unzip {} \; – maximusdooku

Смежные вопросы