shell脚本while read line的使用
生活随笔
收集整理的這篇文章主要介紹了
shell脚本while read line的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#### 題目要求
計算文檔a.txt中每一行中出現的數字個數并且要計算一下整個文檔中一共出現了幾個數字。例如a.txt內容如下:
12aa*lkjskdj
alskdflkskdjflkjj
我們腳本名字為 ncount.sh, 運行它時:
bash ncount.sh a.txt
輸出結果應該為:
2
0
sum:2
#### 參考答案
```
當我們輸入的字段比變量數目多時,最后一個變量的值將不只一個字段,而是所有剩余的內容;當輸入字段比變量數少時,多余的變量將是空值,你可以自己試試。現在我們再來看 while read line do … done < file read通過輸入重定向,把file的第一行所有的內容賦值給變量line,循環體內的命令一般包含對變量line的處理;然后循環處理file的第二行、第三行。。。一直到file的最后一行。還記得while根據其后的命令退出狀態來判斷是否執行循環體嗎?是的,read命令也有退出狀態,當它從文件file中讀到內容時,退出狀態為0,循環繼續驚醒;當read從文件中讀完最后一行后,下次便沒有內容可讀了,此時read的退出狀態為非0,所以循環才會退出。 另一種也很常見的用法: command | while read line do … done 如果你還記得管道的用法,這個結構應該不難理解吧。command命令的輸出作為read循環的輸入,這種結構長用于處理超過一行的輸出,當然awk也很擅長做這種事。
?
轉載于:https://www.cnblogs.com/weifeng1463/p/10323331.html
總結
以上是生活随笔為你收集整理的shell脚本while read line的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于2023计算机408考研
- 下一篇: 连接动态链接库时找不到链接库的解决办法