列印每一行出現數字的個數

2021-10-16 15:49:00 字數 780 閱讀 9669

題目鏈結

寫乙個 bash指令碼以統計乙個文字檔案 nowcoder.txt中每一行出現的1,2,3,4,5數字個數並且要計算一下整個文件中一共出現了幾個1,2,3,4,5數字數字總數。

示例:假設 nowcoder.txt 內容如下:

a12b8

10ccc

2521abc

9asf

你的指令碼應當輸出:

line1 number: 2

line2 number: 1

line3 number: 4

line4 number: 0

sum is 7

說明:不要擔心你輸出的空格以及換行的問題

坑*** 的shell,,,,,,  奇葩無比的語法。。。。。。

expr 運算的時候 比如 expr a + b 運算元, 操作符和運算元之間必須得有空格。。。。。

賦值的時候, 比如  num=1=的左右兩邊不能有空格。。。。。意思不能寫成 num = 1 

#!/bin/bash

num=1

sum=0

while read line

do nw=`echo $line | grep -eo [12345] | wc -l`

echo "line$num number: $nw"

num=`expr $num + 1`

sum=`expr $sum + $nw`

doneecho "sum is $sum"

shell 遍歷文字每一行

參考文章 shell指令碼 逐行處理文字檔案 這種方式處理時,如果在迴圈內操作全域性變數,超過迴圈作用域後,對全域性變數的操作就會失效。比如把每一行文字新增到乙個全域性陣列,在迴圈內陣列新增的元素是正常的,在迴圈外陣列的元素會恢復到迴圈之前的狀態 cat data.dat while read li...

shell讀取檔案每一行的方式

使用read命令讀取一行資料 while read myline doecho line myline done datafile.txt 使用read命令讀取一行資料 cat datafile.txt while read myline do echo line myline done 讀取一行資...

shell讀取檔案每一行的方式

1 使用read命令讀取一行資料 1 2 3 4 whileread myline do echo line myline done datafile.txt 2 使用read命令讀取一行資料 1 2 3 4 cat datafile.txt whileread myline do echo lin...