在 Linux 上的 .js 文件中查找和替换文本(多字符)

在 Linux 上的 .js 文件中查找和替换文本(多字符)

我有许多同名的 .js 文件 (got.js),我只需要在其中查找和替换一些文本。要查找的文本是: \x72\x6Fx75\x6E
并且要替换为:(\x72\x6F\x75\x6E中间只有一个 \)
我尝试使用 SED 进行查找,就是这个:
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 中,但结果是一样的:没有任何变化 :-(
希望有人能帮助我。
谢谢大家!

答案1

尝试这个:

find '/home/' -name 'got.js' -exec sed -i -e 's/\\x72\\x6Fx75\\x6E/\\x72\\x6F\\x75\\x6E/g' {} \;

编辑:原始命令行上有一个拼写错误。../g 后有 2 个单引号

相关内容