
deplist | dupfind | extract | find | hexfind | md5 | md5check | md5gento | ofind | pathfind | reflist | xfind | xfindbin | xhexfind | Команда: hexfind sfk hexfind [opts] -pat /pattern/ -dir anydir -file .ext1 [.ext2]
поиск текстовых или двоичных данных в текстовых и двоичных файлах.
если задано несколько шаблонов, то они ищутся
независимо (шаблон1 ИЛИ шаблон2).
это основная команда для поиска только статических данных.
введите sfk xhexfind для использования подстановочных знаков и выражений.
подкаталоги включены по умолчанию
по умолчанию sfk для большинства команд обрабатывает заданные каталоги,
а также все поддиректории внутри них. укажите -nosub, чтобы отключить это.
опции
-nosub не включать файлы в подкаталоги.
-nobin[ary] пропускать бинарные файлы.
-case сравнение текста с учетом регистра. по умолчанию регистронезависимый
сравнение для всех текстовых строк, но НЕ для блоков -bin.
сравнение с учетом регистра выполняется быстрее, чем без учета регистра.
для получения дополнительной информации введите: sfk help nocase
-nocase принудительное сравнение без учета регистра ТАКЖЕ для шаблонов -bin.
-text запускает список шаблонов поиска вида /src/ или
/src/totext/ где / — символ-разделитель, src — текст
для поиска и ввода маски для переформатирования вывода.
можно использовать любой символ-разделитель, который не является частью
ищите текст, т.е. /foo/ или _foo_ оба ищут "foo".
-text не требуется, если указано одно имя файла.
-pat то же, что и -text, запускает список шаблонов.
-spat аналогичен -pat, но также активирует шаблоны косой черты, такие как \t .
введите "sfk help pat" для списка возможных шаблонов.
-spats[trict] то же, что и -spat, но останавливается с ошибкой на undefined
шаблоны косой черты, такие как \m в C:\myproj. каждая косая черта
затем необходимо экранировать, например, с помощью C:\\myproj.
-bin[ary] запускает список бинарных шаблонов замены, указанных
как шестнадцатеричный код, например /0A0D/2020/
-bylist x.txt читать шаблоны поиска из файла x.txt, поддерживая
несколько строк в шаблоне. (добавьте -full, чтобы узнать больше.)
-bylinelist x читать /из/в/ или только /из/ шаблоны из файла x
с одним шаблоном в строке. (добавьте -full, чтобы узнать больше.)
-by(line)list не поддерживает переменные sfk.
для использования переменных в шаблонах создайте скрипт sfk
с шаблонами в качестве параметров. "скрипт sfk" для получения дополнительной информации.
-arc XE: включить содержимое архивов .zip, .jar, .tar и т. д.
как можно глубже, включая вложенные архивы.
XD: demo прочитает первые 1000 байт каждой записи.
-qarc быстро читать архивы верхнего уровня, но не вложенные.
-firsthit обрабатывает только первое найденное совпадение с шаблоном в файле.
-quiet не показывать информацию о прогрессе.
-stat показывает статистику, например количество попаданий по шаблону и нет. файлов.
-perf показать статистику производительности.
-full print полный текст справки, рассказывающий о файлах шаблонов -bylist,
особая чувствительность к регистру символов и вложенные или повторяющиеся
заменить поведение.
параметры вывода
-wide показывает 16 байт на строку в выводе.
-lean показывать 8 байтов на строку в выводе.
-context=n показать n байтов контекста вокруг результатов.
-fullhead[er] печатать смещение/длину совпадений как в десятичном, так и в шестнадцатеричном формате.
-maxdump=n показывать только до n байт. n должно быть больше контекста.
-nodump не создавать шестнадцатеричный дамп, отображать только соответствующие файлы.
-showle выделяет окончания строк CR/LF в выводе шестнадцатеричного дампа
-context=n с шестнадцатеричным дампом: показать дополнительные n байтов контекста.
-reldist с hexdump: указать относительные расстояния до предыдущих попаданий.
+tofile x как последний параметр (цепочка команд): записать текст как
отображается на терминале в файл x.
-more[n] приостановить вывод каждые 30 или n строк.
коды возврата для пакетных файлов
0 = совпадений нет, 1 = совпадения найдены, >1 = произошла серьезная ошибка.
см. также "sfk help opt" о том, как повлиять на обработку ошибок.
многострочные параметры в кавычках поддерживаются в скриптах
с использованием полной отделки. введите "скрипт sfk" для деталей.
псевдонимы
sfk xhexfind — это то же самое, что и xfind -hex
для извлечения немодифицированных двоичных данных вы можете использовать либо
sfk xfind -pure... -tofile или sfk extract... -tofile
поддержка офисных файлов
sfk offind поиск в содержимом текстового файла .xml
офисные файлы, такие как .docx .xlsx .ods .odt.
Справочный офис sfk для получения дополнительной информации и вариантов
смотрите также
--- команды с открытым исходным кодом ---
sfk xfind поиск подстановочного текста в текстовых файлах
sfk поиска в офисных файлах .docx .xlsx .ods
sfk xfindbin поиск подстановочного текста в текстовых/двоичных файлах
sfk xhexfind поиск в текстовом/двоичном файле с выводом шестнадцатеричного дампа
sfk Extract извлекает данные подстановочных знаков из текстовых/бинарных файлов
sfk фильтрует фильтр и редактирует текст с помощью простых подстановочных знаков
sfk найти поиск фиксированного текста в текстовых файлах
sfk findbin ищет фиксированный текст в текстовых/бинарных файлах
sfk hexfind ищет фиксированный текст в бинарных файлах
sfk replace заменить фиксированный текст в текстовых/бинарных файлах
--- бесплатные команды ---
инструмент sfk view GUI для поиска текста по мере ввода
--- Коммерческие команды xe ---
sfk replace заменить фиксированный текст с высокой производительностью
sfk xreplace заменить подстановочный знак в текстовых/двоичных файлах
sfk help xe о SFK XE и xreplace с выражениями SFK.
остерегайтесь командных символов оболочки.
для поиска или замены текстовых шаблонов, содержащих пробелы или специальные
такие символы, как <>|!&?*, вы должны добавить кавычки "" вокруг параметров
или среда оболочки уничтожит вашу команду. Например,
шаблон /foo bar/other/ должен быть написан как "/foo bar/other/"
в файле .bat или .cmd процент % должен быть экранирован как %%
даже в кавычках: sfk echo -spat "процент %% - это процент \x25"
веб-ссылка
http://stahlworks.com/sfk-hexfind
распространенные ошибки использования
sfk hexfind в.txt "/foo\r\n/"
не найдет "foo" в конце строки, а ищет буквально
строки типа «косая черта и r». добавить опцию -spat для включения
шаблоны косой черты, преобразование \r\n в настоящие коды CRLF,
или используйте xhexfind, где шаблоны косой черты используются по умолчанию.
sfk hexfind mydir "/foo*bar/"
не найдет "foo" и "bar" ни с какими символами
между ними, но ищет буквальную звездочку "*".
используйте xhexfind, чтобы включить поиск с подстановочными знаками.
sfk rep in.txt "/foo[0,1000 байт]bar/---/"
не будет заменять до 1000 байт между "foo" и "bar",
но заменяет буквальную строку «foo», затем «[1000 байт]»
потом "бар". вместо этого используйте xed или xreplace.
Примеры
sfk hexfind -text "/foo/" "/bar/" -dir mydir -file .txt .hpp
найти слова "foo" или "bar" без учета регистра
во всех файлах .txt или .hpp в папке mydir.
sfk hexfind -binary /666f6f/ -dir mydir -file .exe +view
найти двоичные данные с шестнадцатеричными значениями 0x66, 0x6f, 0x6f
во всех .exe файлах mydir и показать результат в dview. |
![]() |