shell按行讀取文件的方法

寫法一: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

相關文章
相關標籤/搜索