少年阿賓

          那些青春的歲月

            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 閱讀(505) 評論(1)  編輯  收藏 所屬分類: shell

          Feedback

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

          主站蜘蛛池模板: 崇阳县| 滨海县| 浪卡子县| 亳州市| 维西| 临夏县| 渑池县| 习水县| 南投市| 宿松县| 灵川县| 邵东县| 平阴县| 札达县| 云南省| 平原县| 滨州市| 汾阳市| 剑阁县| 林州市| 裕民县| 清远市| 呼玛县| 铜梁县| 福鼎市| 十堰市| 黄陵县| 扬中市| 麟游县| 炉霍县| 永嘉县| 海原县| 仙居县| 重庆市| 明星| 玉山县| 临泉县| 金华市| 菏泽市| 巢湖市| 浦江县|