如果您正在寻找包含特定代码的特定类型的所有文件,您可以通过将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 -pi -e 's/asdfg//' $i
在那里它会找到asdfg的所有实例,并将其替换为“”(无),将其从文件中删除。
请注意,如果您需要替换特殊字符,则正则表达式会变得更加复杂。
在Google上搜索如何使用正则表达式进行字符串交换。
***总是***在测试文件上测试perl正则表达式,以确保它可以正常工作,然后再做大量任务以确保不会破坏任何东西。











