Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从整个项目中删除不必要的导入_Php_Linux_Eclipse_Replace_Sed - Fatal编程技术网

Php 从整个项目中删除不必要的导入

Php 从整个项目中删除不必要的导入,php,linux,eclipse,replace,sed,Php,Linux,Eclipse,Replace,Sed,最近在工作中,我们有一个实习生,她在她的项目中创建了很多不必要的文件,我正在清理项目,试图挽救它,但是,我遇到了一些麻烦 例如,我想从项目中的所有文件中删除以下代码行(谢天谢地,它们是一致的): 我愿意在eclipse或sed上这样做,我尝试了两者都没有用,我已经在另一个项目中使用sed删除了include行,但最后我得到了一堆空的php标记,我希望你们能帮助我找到一个我可以使用的解决方案,并记住继续前进 谢谢sed用于在一行上进行简单的替换。对于跨越多条线的任何内容,请使用awk。这是将G

最近在工作中,我们有一个实习生,她在她的项目中创建了很多不必要的文件,我正在清理项目,试图挽救它,但是,我遇到了一些麻烦

例如,我想从项目中的所有文件中删除以下代码行(谢天谢地,它们是一致的):


我愿意在eclipse或sed上这样做,我尝试了两者都没有用,我已经在另一个项目中使用sed删除了include行,但最后我得到了一堆空的php标记,我希望你们能帮助我找到一个我可以使用的解决方案,并记住继续前进


谢谢

sed用于在一行上进行简单的替换。对于跨越多条线的任何内容,请使用awk。这是将GNU awk用于多字符RS:

$ cat file
foo
<?php
include('includes/footer.php');
?>
bar
$ awk -v RS="^$" -v ORS="" '{sub(/<[?]php\ninclude[(]\047includes[/]footer.php\047[)];\n[?]>\n/,"")}1' file
foo
bar
$cat文件
福
酒吧
$awk-v RS=“^$”-v ORS=“”{sub(/\n/,”“)}1”文件
福
酒吧
在搜索RE中,它在RE元字符周围使用
[]
,因此它们被视为文字字符,并对单引号
'
使用
\047
,因为不能在用单引号分隔的脚本中使用单引号。

使用搜索对话框。 在Package/project/Navigator视图中选择项目,然后按Ctrl+H

输入正则表达式,如图所示。还要注意,我在PackageExplorer中选择了选择了resources选项并选择了
com.chandrayya….
project

按搜索按钮。您将在“搜索”视图中获得所有结果

激活搜索视图并按全部折叠按钮折叠所有搜索结果,然后按Ctrl+A选择搜索视图中的所有搜索结果。右键单击所选内容并选择
Replace All..
选项,您将获得一个对话框,如下所示。使用文本框在中输入一次空格字符,然后按确定按钮


\
这应该能抓住它们,可能需要添加多行修饰符。使用eclipse替换,正如我在回答中所说的。
$ cat file
foo
<?php
include('includes/footer.php');
?>
bar
$ awk -v RS="^$" -v ORS="" '{sub(/<[?]php\ninclude[(]\047includes[/]footer.php\047[)];\n[?]>\n/,"")}1' file
foo
bar