我尝试过从/ var / www /文件夹中删除正则表达式字符串的许多变体,但无法使其工作。也许这是一个愚蠢的语法问题?
regex = /@require\(dirname\(__FILE__\).'\/dir\/file.php'\);/g
尝试:
sed -i '//@require\(dirname\(__FILE__\).'\/dir\/file.php'\);/g/d' /var/www/*
awk '{gsub("/@require\(dirname\(__FILE__\).'\/dir\/file.php'\);/g", "");}' /var/www/*
答案 0 :(得分:1)
我认为你应该逃避@require(dirname( FILE )的输出。或者 - 更简单的方法 - 你也可以在sed中使用不同的分隔符。无论如何,我建议逃避那个字符。-i选项很好。
[kan@pckan ~]$ echo "line starts in here /var/www/dir/file.txt oh yes" | sed 's|/var/www/dir/file.txt||g'
line starts in here oh yes
总结一下: