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

时间:2014-05-02 16:04:49

标签: php linux eclipse replace sed

最近在工作中,我们让这名受训者在她的项目中创建了不少不必要的文件,我正在清理项目以试图挽救它,但是,我有点勉强麻烦

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

<?php
include('includes/footer.php');
?>

我可以在eclipse或sed上这样做,我已经尝试过两者都无济于事,我已经在另一个项目中完成,我用sed删除了包含行,但是我最终得到了一堆空的php标签,我希望你们能帮助我找到一个我可以使用的解决方案,并牢记未来。

由于

2 个答案:

答案 0 :(得分:0)

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

在搜索RE中,它在RE元字符周围使用[],因此将它们视为文字字符,并使用\047作为单引号',因为您无法使用脚本中的单引号,用单引号分隔。

答案 1 :(得分:0)

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

enter image description here

输入正则表达式,如图所示。另请注意,我在包资源管理器中选择了所选资源选项并选择了com.chandrayya....项目。

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

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

enter image description here