“打印空行的行号”的版本间的差异
跳到导航
跳到搜索
(创建页面,内容为“=打印空行的行号= <pre> sed -n '/^$/ =' file </pre> /^$/:这是一个正则表达式,表示匹配一行的开始和结束之间没有任何字符,也…”) |
(→awk) |
||
(未显示同一用户的5个中间版本) | |||
第1行: | 第1行: | ||
+ | [[category:shell]] | ||
=打印空行的行号= | =打印空行的行号= | ||
<pre> | <pre> | ||
第9行: | 第10行: | ||
= 是sed中的特殊命令,用于输出当前行的行号 | = 是sed中的特殊命令,用于输出当前行的行号 | ||
+ | |||
+ | ==grep== | ||
+ | <pre> | ||
+ | |||
+ | grep -n '^$' test.txt | ||
+ | 2: | ||
+ | 4: | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ==awk== | ||
+ | <pre> | ||
+ | awk '/^$/{print NR}' test.txt | ||
+ | |||
+ | |||
+ | 解释: | ||
+ | |||
+ | awk程序是由一系列的模式 - 动作(pattern - action)语句组成。在这里,/^$/{print NR}是一个awk语句。 | ||
+ | 模式/^$匹配空行,^表示行的开始,$表示行的结束,两个连在一起就表示匹配空行(即没有任何字符的行)。 | ||
+ | 动作print NR用于打印当前行的行号,NR是awk中的一个内置变量,它表示当前正在处理的行的行号。 | ||
+ | |||
+ | |||
+ | /^$/:匹配空行。 | ||
+ | NR:内置变量,表示当前行号。 | ||
+ | |||
+ | </pre> | ||
+ | === cat === | ||
+ | <pre> | ||
+ | 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*$:匹配行号后任意数量的空白字符直到行尾(表示空行) | ||
+ | </pre> | ||
+ | |||
+ | =references= | ||
+ | https://blog.nowcoder.net/n/c23c332c03b64108bc87d6b09a981128 | ||
[[category:]] | [[category:]] |
2025年1月12日 (日) 06:58的最新版本
打印空行的行号
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:]]