在多个文件中查找字符串并将其替换为唯一标识字符串

在多个文件中查找字符串并将其替换为唯一标识字符串

我正在开发一个项目,用 Web 模板文件中的相关文本替换 Lorem Ipsum。不幸的是,所有文件中的 Lorem Ipsum 文本都是相同的,并且屏幕与其生成模板之间的关联并不容易建立。换句话说,当我在特定页面上看到“Lorem Ipsum ...”时,即使考虑到该页面上的所有其他信息,我也没有一种简单的方法来判断哪个模板生成了它。

我想用所有模板中的唯一标识字符串替换多个文件中的所有 Lorem Ipsum。像“Lorem Ipsum 1”、“Lorem Ipsum randomStringHere”等。这样,我可以查看页面并 grep 找到相应的模板。

我使用这个 perl 单行代码在多个文件中查找和替换

perl -pi -w -e 's/SEARCH_FOR/REPLACE_WITH/g;' *.txt

但我不知道如何更改它来执行唯一标识字符串。希望没有太多发展的东西。

答案1

我能够使用这个解决方案像这样:

find . -type f -exec perl -pi -e 's/ipsum/join "", map { ("a" .. "z", "A" .. "Z", 0 .. 9)[rand(62)] } 1 .. 64/eg' {} \;

我得到像这样的字符串Lorem 1S1MWLSNys0eVhjVREMLRWaZFPSqPXy0bwjaXgXxluU8pajf4v6NbnPXjXTW5rdf

相关内容