少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          讀文件的方法:

          第一步: 將文件的內(nèi)容通過管道(|)或重定向(<)的方式傳給while

          第二步: while中調(diào)用read將文件內(nèi)容一行一行的讀出來,并付值給read后跟隨的變量。變量中就保存了當前行中的內(nèi)容。

          例如讀取文件/sites/linuxpig.com.txt

          1)管道的方式:
           
               cat /sites/linuxpig.com.txt |while read LINE
               do
                   echo $LINE
               done

              當然也可以將cat /sites/linuxpig.com.txt 寫成一些復(fù)雜一些的,比如:
              
              示例1:
              find -type f -name "*.txt" -exec cat |while read LINE
               do
                   echo $LINE
               done
              可以將當前目錄所有以 .txt 結(jié)尾的文件讀出
              
              示例2:
              grep -r "linuxpig.com" ./ | awk -F":" '{print $1}' | cat |while read LINE
               do
                   echo $LINE
               done

              可以將含有 "linuxpig.com" 字符串的所有文件打開并讀取。。

              示例沒有實際測試,如果使用請先測試。。。。。:-)
              

          2)重定向的方式:

            2.1 利用重定向符<

               while read LINE
               do
                   echo $LINE
               done < /sites/linuxpig.com.txt

            2.2 利用文件描述符(0~9)和重定向符 <

               exec 3<&0
               exec 0</sites/linuxpig.com.txt
               while read LINE
               do
                   echo $LINE
               done
               exec 0<&3

          posted on 2015-01-13 12:59 abin 閱讀(510) 評論(1)  編輯  收藏 所屬分類: shell

          Feedback

          # re: shell讀文件的方法 2015-01-13 17:19 nieyong
          十分受用,收下了~  回復(fù)  更多評論
            

          主站蜘蛛池模板: 枝江市| 南川市| 新河县| 永靖县| 临夏县| 延津县| 建昌县| 钟山县| 沁水县| 桐柏县| 丰台区| 吕梁市| 嵊州市| 黄梅县| 洛川县| 梁平县| 龙州县| 鄂州市| 甘南县| 榆社县| 张家川| 宁城县| 安顺市| 社旗县| 桐乡市| 聂拉木县| 云龙县| 全南县| 车险| 开化县| 四子王旗| 万州区| 普洱| 绥宁县| 洛南县| 元氏县| 五寨县| 阳山县| 玛纳斯县| 新乡县| 驻马店市|