addhead | addtail | count | difflines | filter | head | joinlines | linelen | load | ofilter | perline | printloop | replace | run | runloop | snapto | sort | strings | tail | xed | xex | xreplace | Команда: replace sfk заменить singleFile [-текст] /src/dst/ [шаблон2] [...] [-да] sfk replace -[s]pat -bin[ary] /A0A1A2/B5B6B7/ -dir anydir -file .ext1 [-yes] sfk rep [-dump [-wide]] -bylist words.txt файл1 [файл2 ...] [-yes] заменить текстовые или двоичные данные в текстовых и двоичных файлах. может заменять множество различных шаблонов параллельно. Несколько шаблонов поиска выполняются в заданной последовательности. Имейте это в виду если они перекрываются, например, /foo/bar/ /foosys/thesys/ не имеет смысла (foo заменено первым выражением, поэтому второе не совпадет). по умолчанию заменить функции, работающие в режиме SIMULATION, предварительный просмотр хитов без каких-либо изменений. добавьте -yes, чтобы применить изменения. Изменение двоичных файлов может привести к непредсказуемым результатам, поэтому сохраняйте резервные копии ваших файлов на всякий случай. уведомление о лицензии это версия sfk replace с открытым исходным кодом. замена исходных/целевых шаблонов разной длины происходит медленнее и может потребовать много памяти по сравнению с заменами той же длины. SFK Plus или XE содержат другую реализацию с высокой производительностью. подкаталоги включены по умолчанию по умолчанию sfk для большинства команд обрабатывает заданные каталоги, а также все поддиректории внутри них. укажите -nosub, чтобы отключить это. опции -nosub не включать файлы в подкаталоги. -nobin[ary] пропускать бинарные файлы. -case сравнение текста с учетом регистра. по умолчанию регистронезависимый сравнение для всех текстовых строк, но НЕ для блоков -bin. сравнение с учетом регистра выполняется быстрее, чем без учета регистра. для получения дополнительной информации введите: sfk help nocase -nocase принудительное сравнение без учета регистра ТАКЖЕ для шаблонов -bin. -pat запускает список поиска или замены шаблонов вида xsrcxdstx, где x — символ-разделитель, src — источник для поиска и dst назначения для его замены. например, /foo/bar/ или _foo_bar_ заменяют foo на bar. -pat не требуется, если указано одно имя файла. -text то же, что и -pat, начиная список текстовых шаблонов. -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" для получения дополнительной информации. -recsize с заменами одинаковой длины: установить размер входной записи для обработки (по умолчанию=100k) -firsthit обрабатывает только первое найденное совпадение с шаблоном в файле. -maxscan=nm остановить поиск после (приблизительно) первых n мегабайт за файл. можно использовать только с заменой одинаковой длины. -quiet не показывать информацию о прогрессе. -stat показывает статистику, например количество попаданий по шаблону и нет. файлов. -perf показать статистику производительности. -memlimit=nm с заменами разной длины, файлы должны быть загружены в память для обработки. лимит памяти по умолчанию использование составляет 300 МБ. установите -memlimit=500m, чтобы выбрать 500 МБ. -full print полный текст справки, рассказывающий о файлах шаблонов -bylist, особая чувствительность к регистру символов и вложенные или повторяющиеся заменить поведение. параметры вывода -dump создать шестнадцатеричный дамп результатов поиска или замененного текста. -wide с -dump: показывать 16 байт на строку. -Lean with -dump: показывать 8 байтов в строке. -dumpfrom всегда сбрасывает результаты поиска, но не заменяет текст. -dumpall дамп текста поиска и замененный текст. -nodump не создавать шестнадцатеричный дамп, отображать только соответствующие файлы. -astext не содержит шестнадцатеричного дампа, но результаты поиска выводятся как обычный текст. используйте это только с обычными текстовыми файлами, а не с бинарными. -showle выделяет окончания строк CR/LF в выводе шестнадцатеричного дампа -context=n с шестнадцатеричным дампом: показать дополнительные n байтов контекста. -reldist с hexdump: указать относительные расстояния до предыдущих попаданий. -to dir\$file записать выходные файлы по указанному пути. для получения подробной информации о маски выходного файла, введите "sfk help opt" или "sfk run". -tofile x записать выходные данные в один выходной файл с именем x (что не интерпретируется как маска, а принимается как есть). -more[n] приостановить вывод каждые 30 или n строк. коды возврата для пакетных файлов 0 = совпадений нет, 1 = совпадения найдены, >1 = произошла серьезная ошибка. см. также "sfk help opt" о том, как повлиять на обработку ошибок. о вложенных шаблонах замены sfk заменить myfile.dat /foo/bar/ /bar/goo/ с базой SFK «foo» будет заменено на «bar», а затем сразу же «бар» снова заменяется на «липкий». с SFK Plus или XE замененная часть текста не заменяется снова в той же команде, поэтому «foo» остается замененным на «bar». неожиданное поведение повторной замены в зависимости от входных данных и выражений поиска/замены, может случиться так, что одна и та же замена выполняется несколько раз в том же файле производит дальнейшие обращения, которых не было в первом прогоне. добавьте опцию -full, чтобы узнать больше об этом. многострочные параметры в кавычках поддерживаются в скриптах с использованием полной отделки. введите "скрипт sfk" для деталей. уведомление об исполнении система может кэшировать выходные файлы, записывая на диск в фон после завершения sfk. последующий командный файл команды могут выполняться медленнее. поддержка офисных файлов 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-rep распространенные ошибки использования 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 заменить myfile.dat "/Lemon/Curry/" замените Lemon на Curry в файле myfile.dat. search is без учета регистра, поэтому "лимон" также будет заменен. кавычки "" здесь необязательны. sfk заменить -pat /FooCase// -dir . -файл .txt поиск FooCase во всех файлах .txt ниже текущего каталога. обратите внимание, что если вы пропустите единственный параметр fileOrDir, вы должны сначала сказать -[s]pat, -bin или -text, чтобы четко сказать что вы укажете целевой набор файлов позже. sfk rep -spat "/The foo/The\tbar/" -dir mydocs заменяет «The foo» на «The» и «bar», разделенные символом TAB, во всех файлах в mydocs. sfk rep -binary /1A/20/ -dir docs -file .txt .info .note заменяет все байты с кодом 0x1A на код 0x20, во всех .txt, Файлы .info и .note в каталоге docs и во всех подкаталогах. sfk заменить tmp\image.dat -bylist patches.txt ищет исходные шаблоны в файле tmp\image.dat, заменяет шаблонами, указанными в patches.txt SFK Base и XE: обмен текстами в два этапа sfk -yes реп io.txt /foo34/foo99/ /foo12/foo34/ +rep /foo99/foo12/ заменяет foo12 на foo34 и наоборот. с SFK Base, слово который заменяется, может быть снова заменен следующим шаблоном, поэтому промежуточный шаг: превратить foo34 во что-то нигде не используется в io.txt, то замените foo12, то замените промежуточный шаблон обратно во второй команде замены в том же файле. Только SFK XE: замена текста за один шаг sfk rep io.txt /foo12/foo34/ /foo34/foo12/ -да заменяет foo12 на foo34 и наоборот. с XE, слово, которое заменяется, не просматривается снова в той же команде, поэтому "foo34" из первого паттерна не меняется на 2-й. sfk hexfind mydir -pat /FooCase/ +list -late не заменять, просто найти бинарные файлы, содержащие "FooCase", затем перечислите их, отсортированные по времени. также принимает файлы -bylist. sfk replace -binary /666f6f/626172/ -dir mydir -file .dat заменить двоичные данные шестнадцатеричными значениями 0x66, 0x6f, 0x6f по данным со значениями 0x62, 0x61, 0x72 во всех файлах .dat. |