grep -n '^$' |awk -F: '{print $1}'

grep -n -v '[^$]' |awk -F: '{print $1}'

方法一:

使用正则^$,表示空行;

grep先找出空行;-n表示显示行号。

再使用awk根据冒号分隔,取出第一列即可

方法二:

[^$] 模式匹配除了行尾之外的任何字符,因此 -v 选项使得 grep 只显示不包含除行尾之外任何字符的行,即排除非空行。

-n 选项使得 grep 输出每行前面加上行号。

再使用awk根据冒号分隔,取出第一列即可