У меня есть много файлов .js с одинаковыми именами (got.js), где мне просто нужно найти и заменить на них какой-то текст. Текст для поиска: \x72\x6Fx75\x6E
И подлежит замене на: \x72\x6F\x75\x6E
(просто \ посередине)
Я пробовал SED с find, именно этот:
find '/home/' -name 'got.js' -exec sed -i -e 's%\x72\x6Fx75\x6E%\x72\x6F\x75\x6E%g' '{}' %;
но я получаю сообщение об ошибке find: missing argument to '-exec'
. Если я изменю %
к \
, ошибки не отображаются, дата последнего изменения файлов меняется, но в файлах ничего не меняется.
Также я должен отметить, что это \x72\x6Fx75\x6E
текст - это часть большой закодированной фразы. Я подумал, что это может быть проблемой, и поместил всю фразу в sed, но результат был тот же: ничего не меняется :-(
Надеюсь, что кто-то может мне в этом помочь.
Спасибо всем!
Попробуй это:
find '/home/' -name 'got.js' -exec sed -i -e 's/\\x72\\x6Fx75\\x6E/\\x72\\x6F\\x75\\x6E/g' {} \;
Изменить: была ошибка опечатки в исходной командной строке. 2 одинарные кавычки после ../g