获取记事本++或Microsoft Excel中的文本文件中找到的所有空白行的所有行号的列表?



我有超过1000行数据的文本文件,这些文本文件中的文本行以随机间隔用单个空行分隔。如何获取或打印这些空白行号的列表作为5,15,50,77,150,294。 我遇到了一个类似的问题,但它是针对 python 的 - 获取文件中某个短语的行号 Python

我们可以在记事本++或excel中实现相同的目标吗?

将光标放在文件第一行的开头。使用菜单 => 编辑 => 列编辑器。选择"要插入的数字",初始数字 = 1,增加 = 1,将重复留空,选择前导零。单击"确定"。

该文件现在应该在每行上都有行号,前导零。计算在文件最后一行添加的位数。如果文件包含 1000 到 9999 行,则应该有 4(四(位数字。

打开搜索寡妇,然后选择标记选项卡。在查找内容字段中输入^d{4}.。如果需要,将 4 更改为在文件最后一行找到的位数。这将标记在四个前导数字之后有内容的任何行。选择"正则表达式"和"环绕"和"书签行"。点击"全部标记"。现在应该看到除左边距附近有一个蓝色圆圈的空白行之外的所有行。使用菜单 => 搜索 => 书签 => 删除书签行。缓冲区现在应该只有空行的条目。

打开搜索和替换窗口。在"查找内容"区域中输入^R0*,在"替换为输入,"(即逗号或逗号空格(中输入。选择"正则表达式"和"环绕"。点击"全部替换"。

现在只需要删除第一行的前导零和文本末尾可能的尾随逗号。


对于 Excel 方法:

假设文件的每一行都在工作表的一行中。在工作表中插入新列。将行号放入该列的单元格中。(我有时会1放入单元格 A1 中,并将公式=A1+1放入下面的单元格中。然后将该单元格复制到其下面的每个单元格中,直到工作表中的最后一行数据。接下来,复制整列并粘贴特殊插入值。

在工作表的一列中有行号。根据 B 列中的值对工作表进行排序。这将使所有非空行都位于顶部。带有行号的空行将显示在排序行的底部。

这个perl一行完成这项工作:

perl -anE 'say $. if /^h*$/' file.txt

解释:

  • $.包含当前行
  • /^h*$/匹配空行

最新更新