Здравствуйте!
Столкнулся со следующей проблемой.. Немного предыстории.
В свое время, был написан скрипт на php для своей cms, в котором есть несколько секций, которые упаковывают секцию текста в файл без расширения (part_1,part_2,part_n..).
$fp = fopen ($dir."/part_".$section, "w");
fwrite($fp,gzencode($section_text[$section],9));
Но в одном месте я пропустил функцию
gzencode().
В связи с этим косяком, сейчас требуется привести всё к общему знаменателю..
Думал сделать по простому и после этого пройтись и удалить расширения.
find . -name "part_*" -type f -exec gzip -9 {} \;
Но в этом случае перепакуются и уже упакованные в gz файлы..
В линуксах я только недавно начал разбираться, посему моя извилина тут не поможет))
Подскажите, может можно как-то в find добавить проверку на тип содержимого в файле?
Допустим, если text/plain или charset=utf-8, тогда упаковать.
Или если application/gzip или charset=binary, тогда пропустить.
Возможно, есть другой, более простой способ?