列表

详情


SHELL5. 打印空行的行号

描述

写一个 bash脚本以输出一个文本文件 nowcoder.txt中空行的行号,可能连续,从1开始

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

c

d

e


f



你的脚本应当输出:
3
5
7
9
10




原站题解

Bash 解法, 执行用时: 2ms, 内存消耗: 356KB, 提交时间: 2021-05-10

row=0
while read line
do
    ((row++))
    #if [ -z $line];then
    #if [ ! $line];then
    if [ "$line" = "" ];then
        echo $row
    fi
 done < nowcoder.txt

Bash 解法, 执行用时: 2ms, 内存消耗: 356KB, 提交时间: 2021-01-10

#!/bin/bash
i=1
while read line;
do
    if [ -z $line ];
    then
        echo $i
    fi
    i=$[i+1]
done < nowcoder.txt

Bash 解法, 执行用时: 2ms, 内存消耗: 360KB, 提交时间: 2021-05-11

line=1
while read value
do
    if [ -z $value ]
    then
        echo $line
    fi
    line=$((line+1))
done < nowcoder.txt

Bash 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-07-12

row=1
while read line
do
  if [ -z $line ]
  then echo $row
  fi
  ((row++))
  done < nowcoder.txt

Bash 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2021-06-24

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

上一题