h_signature=$(echo 58465300 | tr 'a-f' 'A-F')
read -r x a b x <<<$(od --endian=big -N 4 -t x2 yourfile | tr 'a-f' 'A-F')
case "$a$b" in "$h_signature" ) strings yourfile ;; esac
Мет-2:
dd if=yourfile count=4 bs=1 2>/dev/null |
perl -lpe '$_ = uc unpack "H*"' | xargs test "$h_signature" = && strings yourfile
Мет-3:
head -c 4 yourfile | xxd -ps -g 4 | grep -qwi "$h_signature" && strings yourfile
zip -FF
запускает специальный блок выделенного кода , который не обрабатывает другие такие параметры, как -x
. В результате вы не можете выполнить одну команду zip
, которая объединяет -FF
и любую другую операцию.
Чтобы получить new.zip
, который вам нужен, вам нужно запустить
zip -FF old.zip --out new.zip
zip -d new.zip \*.JPG