1

Это на Ubuntu 12.04. У меня есть специальное приложение, основанное на webkit, где "браузер" сохраняет кучу файлов кэша. При сортировке проблем я должен проверять кеш. Каталог кеша содержит множество файлов разных типов без каких-либо расширений. Некоторые из этих файлов сжаты, а некоторые нет. Конечная цель заключается в проверке содержимого текстовых файлов, таких как javascript и css.

Я пытаюсь написать сценарий оболочки, который может "ощутить", что файл является сжатым файлом и расширить его. Особенно сталкивается с двумя проблемами

  1. Проверка вывода команды "файл". Это я начал работать с командой проверки статуса grep. Не уверен, что это лучший способ сделать.
  2. gunzip не любит файлы без расширения. Как мне сказать gzip расширить файл без расширения. Пробовал флаг "-S", но не получилось, я застрял здесь.

Если это (с использованием команд grep и file) не лучший способ, предложите также альтернативный способ.

В следующем примере сценарий оболочки должен автоматически развернуться 1077572923. Любое расширение или без расширения подойдет для расширенного файла.

Вывод команды ls -l

-rw------- 1 <user> <user>  213 Apr 28 14:19 1011858703
-rw------- 1 <user> <user>  364 Apr 28 14:19 1040171657
-rw------- 1 <user> <user>  66K Apr 28 14:19 1077572923

И файл * показывает вывод как

1011858703: GIF image data, version 89a, 13 x 13
1040171657: GIF image data, version 89a, 22 x 19
1077572923: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)

1 ответ1

2
zgrep -e "the regexp you search" *

может быть ответом. zgrep выполняет распаковку для вас, если необходимо, оставляя файлы нетронутыми и выполняет grep.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .