寫法一:
復制代碼 代碼如下:
#!/bin/bash
while read line
do
echo $line #這里可根據實際用途變化
done urfile
寫法二:
復制代碼 代碼如下:
#!/bin/bash
cat urfile | while read line
do
echo $line
done
注意:以上代碼中urfile 為被讀取的文件
Shell讀取文本文件
方法一:通過命令獲取所需內容,傳遞給變量
復制代碼 代碼如下:
var1=$(grep -i "^root" /etc/passwd | cut -d: -f 3 2>/dev/null) =讀取/etc/passwd文件中root的id
方法二:通過read命令讀取這個文件
復制代碼 代碼如下:
while read wOne wTwo wThree
do
[ -z $wOne ] continue #測試此行內容是否為空
xxx=$wOne #提取內容
done /var/xxx/one.txt
echo "$xxx" #變量獲取了文件中的內容
以下方法無法提取內容;但可以輸出。問題似乎出在bash對管道的處理方法上
(bash可能生成了一個子shell處理管道輸出)。
復制代碼 代碼如下:
cat /var/xxx/one.txt | while read wOne wTwo wThree
do
[ -z $wOne ] continue #測試此行內容是否為空
xxx=$wOne #提取內容
done
echo "$xxx" #這里變量內容沒有改變
您可能感興趣的文章:- Shell腳本中使用for循環和cat命令實現按順序合并文件
- Shell逐行讀取文件的4種方法
- shell按行讀取文件的3種方法
- Shell腳本讀取ini配置文件的實現代碼2例
- Shell實現讀取ini格式配置文件方法
- PowerShell讀取文本文件指定行內容的方法
- Shell腳本讀取標準ini配置文件Demo
- Shell腳本逐行讀取文本文件(不改變文本格式)
- 利用Shell腳本循環讀取文件中每一行的方法詳解