gpt4 book ai didi

Linux 根据文件名提示更改文件内的内容

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:35 25 4
gpt4 key购买 nike

我知道如何在一组文件中进行搜索和替换:

perl -pi -w -e 's/search/replace/g;' *.php

因此我可以使用它来搜索关键字或词组并进行更改。但是我有一个更复杂的任务,我不知道该怎么做。

我想在我所有的 php 文件中进行搜索和替换,以搜索特定的关键字并将其替换为文件名减去扩展名。

示例:在文件 Mountains.php 中搜索关键字 Trees,在所有看到 Trees 的地方,将其替换为 Mountains

当然,我希望能够批量处理数百个具有不同名称的 php 文件,但是都包含搜索词 Trees。

如果有人正在寻找额外的挑战,哈哈,如果我能做一个更复杂的场景就更好了,比如......

示例:在文件 MountainTowns.php 中搜索关键字 Trees,在所有你看到 Trees 的地方,将其替换为“Mountain Towns”(注意多余的空格,大写字母可能会指示空格所在的位置)

感谢您抽空考虑我的问题。

最佳答案

好吧,文件名在 $ARGV 中,所以不需要做更多的工作。

perl -i -pe '($x=$ARGV)=~s{.php$}{};s{Trees}{$x}g' BlueMountains.php RedMountains.php

加入

$x=~s{(.)([A-Z])}{$1 $2}g;

在大写字母前加空格,为整行

perl -i -pe '($x=$ARGV)=~s{.php$}{};$x=~s{(.)([A-Z])}{$1 $2}g;s{Trees}{$x}g' BlueRedMountains.php

关于Linux 根据文件名提示更改文件内的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com