“打印空行的行号”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
第10行: 第10行:
  
 
= 是sed中的特殊命令,用于输出当前行的行号
 
= 是sed中的特殊命令,用于输出当前行的行号
 +
 +
==awk==
 +
<pre>
 +
awk '/^$/{print NR}' test.txt
 +
 +
 +
解释:
 +
 +
    awk程序是由一系列的模式 - 动作(pattern - action)语句组成。在这里,/^$/{print NR}是一个awk语句。
 +
    模式/^$匹配空行,^表示行的开始,$表示行的结束,两个连在一起就表示匹配空行(即没有任何字符的行)。
 +
    动作print NR用于打印当前行的行号,NR是awk中的一个内置变量,它表示当前正在处理的行的行号。
 +
 +
</pre>
  
 
=references=
 
=references=
 
https://blog.nowcoder.net/n/c23c332c03b64108bc87d6b09a981128
 
https://blog.nowcoder.net/n/c23c332c03b64108bc87d6b09a981128
 
[[category:]]
 
[[category:]]

2024年12月31日 (二) 01:43的版本

打印空行的行号

 sed -n '/^$/   =' file

/^$/:这是一个正则表达式,表示匹配一行的开始和结束之间没有任何字符,也就是匹配空行

-n 是sed中的选项,用于抑制自动输出

= 是sed中的特殊命令,用于输出当前行的行号

awk

awk '/^$/{print NR}' test.txt


解释:

    awk程序是由一系列的模式 - 动作(pattern - action)语句组成。在这里,/^$/{print NR}是一个awk语句。
    模式/^$匹配空行,^表示行的开始,$表示行的结束,两个连在一起就表示匹配空行(即没有任何字符的行)。
    动作print NR用于打印当前行的行号,NR是awk中的一个内置变量,它表示当前正在处理的行的行号。

references

https://blog.nowcoder.net/n/c23c332c03b64108bc87d6b09a981128 [[category:]]