Найти и заменить текст (несколько символов) в файлах .js в Linux

У меня много файлов .js с одинаковыми именами (получил. 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: отсутствует аргумент для' -exec '. Если я изменю % на \ , он не покажет никаких ошибок, изменится дата последнего изменения файлов, но ничего не изменится в файлах.
Также я должен упомянуть, что этот \ x72 \ x6Fx75 \ x6E текст является частью большой закодированной фразы. Я подумал, что это может быть проблемой, и поместил всю фразу в sed, но результат был тот же: ничего не меняется :-(
Надеюсь, что кто-нибудь поможет мне в этом.
Спасибо всем!

0
задан 26 January 2016 в 04:28
1 ответ

Попробуйте следующее:

найти '/ home /' -name 'got.js' -exec sed -i -e 's / \\ x72 \\ x6Fx75 \\ x6E / \\ x72 \\ x6F \\ x75 \\ x6E / g '{} \;

Изменить: была опечатка в исходной командной строке. 2 одинарные кавычки после ../g

0
ответ дан 5 December 2019 в 10:44

Теги

Похожие вопросы