Shell按行讀取文件的方法有很多,下面寫出三種方法:
寫法一:
#!/bin/bash #描述: # while循環讀行操作 #作者:孤舟點點 #版本:1.0 #創建時間:2017-11-09 04:08:52 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH while read line do echo $line done < filename(待讀取的文件)
寫法二:
#!/bin/bash #描述: # cat后讀行操作 #作者:孤舟點點 #版本:1.0 #創建時間:2017-11-09 04:08:52 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH cat filename(待讀取的文件) | while read line do echo $line done
寫法三:
#!/bin/bash #描述: # for循環讀行操作,與while讀行有區別 #作者:孤舟點點 #版本:1.0 #創建時間:2017-11-09 04:08:52 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH for line in `cat filename(待讀取的文件)` do echo $line done
注:for循環讀行操作,與while讀行的區別
while是完全按行讀取,不管行內有多少段文字;
for是按行讀取,如果行內文字有空格,則分開讀取,即一次讀取一個字符串。