Я склав сценарій, щоб зробити деякі файлові операції для мене. Я використовую оператор 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.