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

fig*_*r20 50 csv notepad++

Notepad ++中是否有一种方法可以删除其他所有行或第n行?我有一个庞大的数据列表,我需要减小大小.

数据本身并不重要,在10,000个项目的列表中,我只需要选择5,​​000个

Jas*_*per 93

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

打开替换菜单,填写([^\n]*\n)[^\n]*\n"查找内容"框并$1在"替换为"框中.然后为搜索模式选择正则表达式,单击全部替换,每隔一行删除一次.

如果你想做类似的事情,你可以建立类似的正则表达式.例如,(([^\n]*\n){a})[^\n]*\n如果替换a为n - 1 ,将替换每第n行,并且[^\n]*\n([^\n]*\n)将保持偶数行而不是奇数行.

(这一点都不难 - 我所要做的就是更新我过时的Notepad ++安装.)


bsm*_*smk 22

您可以尝试使用宏.

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


Eva*_*lds 6

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

awk 'NR % 2 == 0' file > outfile
Run Code Online (Sandbox Code Playgroud)

NR是行号,所以这只是说"如果该行可被2整除,则将其粘贴在新文件中".

如果你在Windows上,我认为这里的答案是有效的:

批处理文件保留十行之一


小智 6

我自己遇到了这个问题。对我有用的,也使用查找/替换功能,是:

  1. Ctrl F 并转到替换
  2. 在搜索模式下,选择“扩展(\n,\r,\t ..)”
  3. 查找内容:\n\n
  4. 替换为:\n
  5. 全部替换

  • 好看又简单!我需要用“\r\n”替换“\r\n\r\n”,但概念相同 (2认同)

Und*_*ker 5

反映这个问题,这里是大多数操作系统使用“查找和替换”的解决方案:

  • 将光标设置在第一行
  • 打开替换对话框(Ctrl + H)
  • 选择“正则表达式”
  • 找什么:(.+\R).+(\R|$)
  • 用。。。来代替:$1
  • 按“全部替换”

笔记:

  • 没有“环绕”
  • \R 是 Unix/Mac/Windows 正则表达式,表示“行尾”