【发布时间】:2017-01-21 04:10:27
【问题描述】:
假设我有一个包含许多 php 文件的文件夹,其中一些 php 文件有一行包含特定单词,我需要一个 linux 命令行来查找所有具有该行的文件(其中包含特定单词) 并用另一个词替换该行 例如:
$source = $_FILES['fupload']['tmp_name'];
$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file( $source, $target );// or die ("Couldn't copy");
$size = getImageSize( $target );
在上面作为 php 文件一部分的代码中,假设特定单词是“fupload”,我们希望在运行 linux 命令行后将该行替换为“echo”:
echo
$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file( $source, $target );// or die ("Couldn't copy");
$size = getImageSize( $target );
这个过程对所有有这种情况的phph文件执行。
我找到了这段代码,但这段代码只删除了包含特定单词的行,但我需要用另一个单词替换整个这些行:
find /var/www/website -type f -exec sed -i '/$vjfegamd/d' {} ';'
【问题讨论】:
-
您想替换
fupload的每个实例,因为从技术上讲,$target也应该被替换? -
如果
fuploaded出现在您的输入中怎么办 - 该行也会被替换吗?您要查找的“单词”是否包含正则表达式元字符?它是否可以包含非字母字符(如果是,您如何定义“单词”)?