按行讀取檔案
#!/bin/bash
echo "##### 方法 1 #####"
while read line1
do echo $line1
done < $1
echo "##### 方法 2 #####"
cat $1 | while read line2
do echo $line2
done
echo "##### 方法 3 #####"
for line3 in $(<$1)
do echo $line3
done
執行結果
snail@ubuntu:5.read-line$ cat file.bin
hello world
this is 1
this is 2
this is 3
snail@ubuntu:5.read-line$ ./read-line.sh file.bin
##### 方法 1 #####
hello world
this is 1
this is 2
this is 3
##### 方法 2 #####
hello world
this is 1
this is 2
this is 3
##### 方法 3 #####
hello
world
thisis1
thisis2
thisis3
使用for讀取時,自動按空格作為間隔符。
如果輸入文字每行中沒有空格,則line在輸入文字中按換行符分隔符迴圈取值.
如果輸入文字中包括空格或製表符,則不是換行讀取,line在輸入文字中按空格分隔符或製表符或換行符特環取值.
可以通過把ifs設定為換行符來達到逐行讀取的功能.
ifs=$'\n'
echo "##### 方法 3 #####"
for line3 in $(<$1)
do echo $line3
done
shell指令碼按行讀取檔案並解析
shell指令碼讀取乙個配置檔案,配置檔案的格式如下 name abc pwd 123456 permission mop 檔名稱為 config.cfg 要在shell指令碼裡讀取這個配置檔案,並且把值一一賦給相應的變數,實現如下 while read line do name echo line...
使用shell按行讀取檔案
在shell裡面,按行讀取檔案得注意設定環境變數ifs,否則無法正確讀入。具體例子如下 oldifs ifs ifs n file home xx txt in file home in for pattern in cat do grep v e pattern done ifs oldifs要按...
按行讀取檔案
const string strurlfilename testurl.txt ifstream fin strurlfilename.c str fstream binary if fin fin.eof string serverurl getline fin,serverurl info lo...