歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux shell 讀文件按行處理

一種方式是用 cat和反引號

ps:反引號在Linux中起著命令替換的作用。命令替換是指shell能夠將一個命令的標准輸出插在一個命令行中任何位置。

輸入格式如下:

20151207 [email protected]

20151225 155581558905678

如下

內部字段分隔符(Internal Field Separator, IFS)是shell腳本中的一個重要概念。IFS是存儲定界符的環境變量。它是當前shell環境使用的默認定界字符串,例:
    data=”name, sex, rollno, location”    #我們可以使用IFS讀取變量中的每一個條目
    oldIFS=$IFS
    IFS=”,”
    for item in $data
    do
        echo Item: $item
    done
    IFS=$oldIFS

count=0
for line in `cat data.txt`
do
  IFS=$' '
  for value in $line
  do
  count=$[$count+1]
    echo $value 
  done
#echo $line

done

一種是用管道或者重定向

' | '表示管道連接,在linux中管道就是一個特殊的文件描述符。

管道是Linux中很重要的一種通信方式,是把一個程序的輸出直接連接到另一個程序的輸入,常說的管道多是指無名管道,無名管道只能用於具有親緣關系的進程之間,這是它與有名管道的最大區別。

有名管道叫named pipe或者FIFO(先進先出),可以用函數mkfifo()創建。

# second example
cat data.txt |  while read line
do
 for var in $line
 do
  echo $var
 done
done

cat命令利用Linux重定向合並文件 http://www.linuxidc.com/Linux/2015-01/112122.htm

Shell編程淺析 http://www.linuxidc.com/Linux/2014-08/105379.htm 

Linux Shell參數替換 http://www.linuxidc.com/Linux/2013-06/85356.htm

Shell for參數 http://www.linuxidc.com/Linux/2013-07/87335.htm

Linux/Unix Shell 參數傳遞到SQL腳本 http://www.linuxidc.com/Linux/2013-03/80568.htm

Shell腳本中參數傳遞方法介紹 http://www.linuxidc.com/Linux/2012-08/69155.htm

Shell腳本傳遞命令行參數 http://www.linuxidc.com/Linux/2012-01/52192.htm

Linux Shell 通配符、轉義字符、元字符、特殊字符 http://www.linuxidc.com/Linux/2014-10/108111.htm

Copyright © Linux教程網 All Rights Reserved