Shell腳本一次讀取文件中一行的2種寫法
更新時(shí)間:2015年04月25日 10:57:34 投稿:junjie
這篇文章主要介紹了Shell腳本一次讀取文件中一行的2種寫法,本文還同時(shí)講解了Shell讀取文本文件的2種方法,需要的朋友可以參考下
寫法一:
復(fù)制代碼 代碼如下:
#!/bin/bash
while read line
do
echo $line #這里可根據(jù)實(shí)際用途變化
done < urfile
寫法二:
復(fù)制代碼 代碼如下:
#!/bin/bash
cat urfile | while read line
do
echo $line
done
注意:以上代碼中urfile 為被讀取的文件
Shell讀取文本文件
方法一:通過命令獲取所需內(nèi)容,傳遞給變量
復(fù)制代碼 代碼如下:
var1=$(grep -i "^root" /etc/passwd | cut -d: -f 3 2>/dev/null) <=讀取/etc/passwd文件中root的id
方法二:通過read命令讀取這個(gè)文件
復(fù)制代碼 代碼如下:
while read wOne wTwo wThree
do
[ -z $wOne ] && continue #測(cè)試此行內(nèi)容是否為空
xxx=$wOne #提取內(nèi)容
done < /var/xxx/one.txt
echo "$xxx" #變量獲取了文件中的內(nèi)容
以下方法無法提取內(nèi)容;但可以輸出。問題似乎出在bash對(duì)管道的處理方法上
(bash可能生成了一個(gè)子shell處理管道輸出)。
復(fù)制代碼 代碼如下:
cat /var/xxx/one.txt | while read wOne wTwo wThree
do
[ -z $wOne ] && continue #測(cè)試此行內(nèi)容是否為空
xxx=$wOne #提取內(nèi)容
done
echo "$xxx" #這里變量?jī)?nèi)容沒有改變
相關(guān)文章
shell腳本輸出多個(gè)主機(jī)的網(wǎng)卡速率的方法
這篇文章主要介紹了shell腳本輸出多個(gè)主機(jī)的網(wǎng)卡速率的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12linux系統(tǒng)mysql自動(dòng)備份并使用ftp上傳的方法
這篇文章主要介紹了linux系統(tǒng)自動(dòng)導(dǎo)出mysql備份,并上傳到指定ftp,還可以刪除舊的備份文件,大家參考使用吧2014-01-01Linux 按時(shí)間批量刪除文件命令(刪除N天前文件)
這篇文章主要介紹了Linux 按時(shí)間批量刪除文件的命令寫法(刪除N天前文件),需要的朋友可以參考下2017-05-05shell腳本 自動(dòng)創(chuàng)建用戶詳解及實(shí)例代碼
這篇文章主要介紹了shell腳本 自動(dòng)創(chuàng)建用戶詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03linux 開機(jī)自啟動(dòng)redis服務(wù)的方法
這篇文章主要介紹了linux 開機(jī)自啟動(dòng)redis服務(wù)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01