打印空行的行号
跳到导航
跳到搜索
打印空行的行号
sed -n '/^$/ =' file
/^$/:这是一个正则表达式,表示匹配一行的开始和结束之间没有任何字符,也就是匹配空行
-n 是sed中的选项,用于抑制自动输出
= 是sed中的特殊命令,用于输出当前行的行号
grep
grep -n '^$' test.txt 2: 4:
awk
awk '/^$/{print NR}' test.txt 解释: awk程序是由一系列的模式 - 动作(pattern - action)语句组成。在这里,/^$/{print NR}是一个awk语句。 模式/^$匹配空行,^表示行的开始,$表示行的结束,两个连在一起就表示匹配空行(即没有任何字符的行)。 动作print NR用于打印当前行的行号,NR是awk中的一个内置变量,它表示当前正在处理的行的行号。 /^$/:匹配空行。 NR:内置变量,表示当前行号。
cat
p cat -n 11 | grep -E "^\s*[0-9]+\s*$" 1 3 4 cat -n file.txt 为文件的每一行添加行号。 grep -E "^\s*[0-9]+\s*$" -E:启用扩展正则表达式。 ^\s*[0-9]+\s*$: ^:行的开头。 \s*:匹配任意数量的空白字符。 [0-9]+:匹配行号(至少一个数字)。 \s*$:匹配行号后任意数量的空白字符直到行尾(表示空行)
references
https://blog.nowcoder.net/n/c23c332c03b64108bc87d6b09a981128 [[category:]]