少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          讀文件的方法:

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

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

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

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

              當然也可以將cat /sites/linuxpig.com.txt 寫成一些復雜一些的,比如:
              
              示例1:
              find -type f -name "*.txt" -exec cat |while read LINE
               do
                   echo $LINE
               done
              可以將當前目錄所有以 .txt 結尾的文件讀出
              
              示例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 閱讀(495) 評論(1)  編輯  收藏 所屬分類: shell

          Feedback

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

          主站蜘蛛池模板: 海林市| 海伦市| 四平市| 郯城县| 古丈县| 台安县| 麻栗坡县| 安徽省| 曲靖市| 兴安盟| 栖霞市| 雅安市| 清水县| 金塔县| 明星| 五原县| 太仆寺旗| 五常市| 呼和浩特市| 获嘉县| 孝感市| 永修县| 石景山区| 龙陵县| 莱州市| 涞源县| 宝坻区| 喜德县| 宁津县| 广宗县| 灵宝市| 娱乐| 尤溪县| 景泰县| 洞头县| 璧山县| 贵南县| 怀安县| 诸暨市| 台州市| 永修县|