跳到主要内容

如何查询 file1 里面空行的所在行号 ?

参考答案:

在 Unix 或 Linux 系统中,你可以使用 awkgrepsed 等命令行工具来查询文件中空行的行号。下面是几种方法:

使用 awk

awk 是一个强大的文本处理工具,你可以使用它来查询空行的行号:

awk '/^$/{print NR}' file1

解释:

  • /^$/ 是一个正则表达式,匹配空行。
  • {print NR} 当匹配到空行时,打印当前行号(NRawk 中的内建变量,表示当前行号)。

使用 grepnl

你可以结合使用 grepnl 命令来查找空行的行号:

nl file1 | grep '^ *$' | awk '{print $1}'

解释:

  1. nl file1file1 中的每一行加上行号。
  2. grep '^ *$' 查找空行或只包含空格的行。
  3. awk '{print $1}' 打印出每一行的第一个字段,即行号。

使用 sed

你还可以使用 sed 命令来查找空行的行号:

sed -n '/^$/=' file1

解释:

  • -n 选项告诉 sed 不要自动打印模式空间的内容。
  • /^$/= 是一个 sed 命令,当匹配到空行时,打印出行号。

你可以根据你的环境和需求选择其中一个方法来查询空行的行号。