Я склав сценарій, щоб зробити деякі файлові операції для мене. Я використовую оператор wild card, *щоб застосувати функції до всіх файлів типу, але я не отримую одного. Я можу unzipвсі файли в такій папці
unzip "*".zip
Однак, щоб потім видалити всі поштові файли, мені потрібно це зробити
rm *.zip
Тобто не хоче лапок. Зніміть розпакування, з іншого боку, не працює, якщо я просто даю його * (дає мені попередження про те, що "файли не збігалися").
Чому це різне? Мені це здається точно такою ж операцією. Або я неправильно використовую подвійну карту?
Вступ у підказку в Unix насправді не займається цим, і я не зміг знайти нічого в документі rmабо zipдокументах.
Я використовую термінал на Mac (Yosemite).
unzipзастосовує глобус до вмісту архіву; ви не зможете дістати їх з башмаку з підстановкою. (Вам знадобиться `` для f in unzip -l archive.zip; do ... done ')
unzipприйняття глобусів у відповідність до одного поштового файлу. Але це інакше; Я насправді спробував unzip '*.zip'у каталозі з кількома поштовими файлами, і він витягує всі файли з усіх блискавок. Як я вже казав, супер дивно. tarне має такого режиму роботи.
unzipможна обійтися без нормальноїfor f in *.zip;do...doneпетлі оболонки. Такий дивний інтерфейс командного рядка, що не нагадує unix.