从目录中的文件中删除特定字符串

时间:2016-08-30 20:23:20

标签: bash sed grep

我尝试过从/ 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/*

1 个答案:

答案 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

总结一下:

  1. 在搜索字符串
  2. 中转义sed的分隔符
  3. 从'开始...'在sed