首页 > 试题广场 >

打印空行的行号

[编程题]打印空行的行号
  • 热度指数:67671 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
编写一个shell脚本以输出一个文本文件nowcoder.txt中空行的行号(空行可能连续,从1开始输出

示例:
假设 nowcoder.txt 内容如下:
a
b

c

d

e


f
你的脚本应当输出:
3
5
7
9
10
示例1

输入

a
b

c

d

e


f

输出

3
5
7
9
10
#!/bin/bash

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

发表于 2025-06-06 14:10:52 回复(0)
grep -n '^$' nowcoder.txt | grep -Eo '[0-9]+'

发表于 2025-05-13 09:31:49 回复(0)
1.查看带行号的文件, 获取第二类数据,如果第二列数据为空,打印行号
cat -n nowcoder.txt | awk '$2=="" {print $1}' 
2.当当前行字段数NF为0,则打印行号NR
awk 'NF==0 {print NR}' nowcoder.txt

发表于 2025-03-08 23:24:56 回复(0)
grep -n '^$' nowcoder.txt | cut -d ':' -f 1
发表于 2025-03-04 14:26:54 回复(0)
grep -n '^$' nowcoder.txt | awk '{print $1}' | sed 's/://g'
发表于 2024-10-13 19:17:12 回复(0)

cat  -n nowcoder.txt  |  awk ' { if ( !$2 ) print $1 }'

编辑于 2024-04-10 21:54:06 回复(0)
cat -n nowcoder.txt | grep -v [a-z]
发表于 2023-08-11 14:25:11 回复(0)
awk '/^$/ {print NR}'
awk 'NF==0{print NR}' nowcoder.txt
发表于 2022-08-27 17:14:59 回复(0)
#!/bin/bash
item=1
while read line 
do
   if [ -z "$line" ];then
   echo $item
   fi
((item++))
done < nowcoder.txt
发表于 2022-08-11 20:07:54 回复(0)
awk '$0 =='\n'{print NR}' ./nowcoder.txt
发表于 2022-07-29 15:39:53 回复(0)
line = 0
while read input
do 
    ((line++))
    if [[ ${#input} -eq 0 ]]
    then
    echo $line
    fi
done < nowcoder.txt  


发表于 2022-07-28 00:08:36 回复(0)
awk '/^$/{print NR}'
发表于 2022-07-21 20:24:16 回复(0)
i=0
while read line 
do
    let i++
    [ -z $line ] && echo $i
done <nowcoder.txt

这个代码在服务器可以运行,在这里就不行,是不是这个解释器不够完善


done <nowcoder.txt
发表于 2022-07-14 11:24:30 回复(0)
awk '!$0  {print NR}' nowcoder.txt
发表于 2022-06-29 17:54:03 回复(0)
grep 指令用于查找内容包含指定的范本样式的文件
-n : 在显示符合样式的那一行之前,标示出该行的列数编号。
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
grep -n ^$ nowcoder.txt|cut -d ":" -f 1

发表于 2022-05-23 01:15:13 回复(0)
line=1
while read value
do 
    if [ -z $value  ]
    then 
          echo $line;
    fi
        line=$((line+1));
done < nowcoder.txt
发表于 2022-05-19 10:20:35 回复(0)
sed -n '/^$/='
awk '/^$/{print NR}'

发表于 2022-05-09 10:57:59 回复(0)
咨询个问题,就是下面的$value为什么要加上双引号:
  if [ "$value" = "" ];then  


#!/bin/bash
line=1
while read value
do
    if [ "$value" = "" ];then  
        echo $line
    fi
    ((line++))
done < nowcoder.txt


发表于 2022-05-01 06:53:49 回复(0)
#!/usr/bin/env bash
awk '$0==""{print NR}' nowcoder.txt
发表于 2022-03-25 10:12:15 回复(0)