欢迎来到云服务器

Directadmin Linux面板

在特定类型的所有文件中查找特定的代码

如果您正在寻找包含特定代码的特定类型的所有文件,您可以通过将find命令与您正在查找的文本的grep组合来实现。
 
例如,要找到一个特定的字符串,可以在/ home目录下的所有php文件中将其称为asdfg,使用如下所示的脚本:
 

#!/bin/sh

#avoid special characters like quotes and brackets
STRING=asdfg

for i in `find . -name "*.php"`; do
{
       C=`grep -c --max-count=1 "$STRING" $i`
       if [ "$C" -gt 0 ]; then
               echo $i;

               #perl regex here, on $i, if needed
       fi
};
done;
exit 0;

如果你需要摆脱所提到的字符串,一个样本Perl正则表达式将是:

perl -pi -e 's/asdfg//' $i

在那里它会找到asdfg的所有实例,并将其替换为“”(无),将其从文件中删除。
 
请注意,如果您需要替换特殊字符,则正则表达式会变得更加复杂。
在Google上搜索如何使用正则表达式进行字符串交换。
 
***总是***在测试文件上测试perl正则表达式,以确保它可以正常工作,然后再做大量任务以确保不会破坏任何东西。
腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号