寫法一:web
----------------------------------------------------------------------------bash
#!/bin/bashorm
while read lineit
dofile
echo $linewebkit
done < filename(待讀取的文件)腳本
----------------------------------------------------------------------------word
寫法二:tab
----------------------------------------------------------------------------文件
#!/bin/bash
cat filename(待讀取的文件) | while read line
do
echo $line
done
----------------------------------------------------------------------------
寫法三:
----------------------------------------------------------------------------
for line in `cat filename(待讀取的文件)`
do
echo $line
done
----------------------------------------------------------------------------
說明:
for逐行讀和while逐行讀是有區別的,如:
$ cat file
1111
2222
3333 4444 555
$ cat file | while read line; do echo $line; done
1111
2222
3333 4444 555
$ for line in $(<FILE); style="WORD-WRAP: break-word" p="" done<="" echo="" do="">
1111
2222
3333
4444
555
額外注意的地方
1.若是文件中是經過tab分隔的,覆蓋追加到其餘文件時變成了以空格爲分隔符。
這個暫時尚未搞清楚什麼緣由。
2.執行腳本
#!/bin/bash
#if [ $# -eq 0 ];then
# echo "執行該腳本須要文件參數,請輸入參數"
# exit 1
#fi
file=/home/liukai/backup/learningShell/a.txt
echo $file
echo "第一種方式"
while read line
do
echo $line
done < $file
echo "第二種方式"
cat $file | while read line
do
echo $line
done
echo "第三種方式"
for f in `cat $file`
do
echo $f
done
執行結果
/home/liukai/backup/learningShell/a.txt第一種方式jack 20 198 165joe 25 176 140lucy 17 165 100第二種方式jack 20 198 165joe 25 176 140lucy 17 165 100第三種方式jack20198165joe25176140lucy17165100