删除包含X&的行20行以上

时间:2014-04-02 08:37:08

标签: php macros notepad++

我有一个大文本文件,我试图排序。

我需要:

  1. 搜索包含“否”
  2. 的行
  3. 删除此行及其上方28行
  4. 该文件包含6,1711行,因此我正在寻找一种快速的方法。

    尝试使用Notepad ++,但似乎无法选择上面的28行也删除。

    非常感谢任何帮助。

    谢谢,

2 个答案:

答案 0 :(得分:0)

怎么样:

找到:(.+\R){28}.*\bNo\b.*\R
替换为:Nothing

确保您已选中Regular Expression而非dot includes newline

如果您想限制搜索,可以使用:

找到:(.+\R){28}.*\bemails: No\b.*\R
或者每个字符串都更重要。

答案 1 :(得分:0)

这里有一些工作要做,将文件读入每个行的Array循环,同时递增索引和20行,然后将数据保存到新文档。

 //read file into string array
$filelines = file('Filelocation.txt');
$i = 0;
foreach ($filelines as $line => $filelines) 
{
   if (strpos($line,'No') !== false) 
    {
      $j = $i
      while ($j > $i - 20) {
       unset($filelines[j]);
       $j--
       }

}
$i++;

}
//Save Whatever is left into new file
print($filelines)