在记事本++中删除其他所有行

Notepad ++中有没有办法删除每一行或第n行? 我有一个庞大的数据列表,我需要减less大小。

数据本身不是那么重要,在10,000个项目的列表中,我只需要select5,​​000个

我认为尝试使用Notepad ++是一个奇怪的想法,但我喜欢挑战,所以我决定给它一个旋转。

打开replace菜单,在“查找内容”框中填写([^\n]*\n)[^\n]*\n ,在“replace为”框中填写$1 。 然后selectsearch模式的正则expression式,点击全部replace,每一行都被删除。

如果你想做类似的事情,你可以创build类似的正则expression式。 例如,如果用n – 1和[^\n]*\n([^\n]*\n)replacen,那么(([^\n]*\n){a})[^\n]*\n [^\n]*\n([^\n]*\n)会让你保持连线而不是奇数。

(这根本不难 – 我只需要更新过时的Notepad ++安装。)

您可以尝试使用macros。

  1. 开始录制macros
  2. 按下n次
  3. 按下Shift + End
  4. 按删除两次
  5. 停止录制macros
  6. 运行macros,直到文件结束

我想你可以用awk做到这一点,如果你在unix风格的平台上:

 awk 'NR % 2 == 0' file > outfile 

NR是行号,所以这只是说“如果行可以被2整除在新文件中”。

如果你在窗户上,我想这里的答案是可行的:

batch file保持十行之一

我自己遇到这个问题。 对我来说也是使用查找/replacefunction,是:

  1. 按住Ctrl并转到replace
  2. 在search模式下,select“扩展(\ n,\ r,\ t ..)”
  3. find:\ n \ n
  4. replace为:\ n
  5. 全部replace

我不认为在Notepad ++中有一个function会自动删除每一行(或每一行),但是如果你写了一个简短的转换程序,只需要几分钟的时间。

伪码看起来像这样:

 1. Create a StreamReader and StreamWriter (make sure you are not trying to read from and write to the same file) 2. While (StreamReader is reading lines) increment i. You could mod it by whatever number n you wanted in order to delete certain lines. Then have a conditional clause that would write out if i%n == 0 or whatever you specify. 3. Close the program. 

这不完全回答你的问题,但我希望它有帮助。