shell脚本读文件

sky_sql 贡献于2013-01-19

作者 微软用户  创建于2012-01-18 13:02:00   修改者songql  修改于2012-04-26 11:38:00字数5131

文档摘要:shell脚本读文件
关键词:

  以下是sh文件内容   ********************************************   #!/bin/sh FILENAME="$1"   cat $FILENAME | while read LINE do echo "$LINE"   done   ********************************************   给你写了一个小例子,从一个文件读数据,设置环境变量:数据文件data.txt包含三行:aaa bbb ccc ------   test.sh   ------   while   read   data;   do if   [   $data   =   "ccc "   ];   then echo   "[$data] " export   TTT= "$data " fi done   <   data.txt ----------------------   运行方式:。   test.sh前面加一个点表示在当前shell进程运行,这样可以修改当前环境变量   *******************************************************************   *******************************************************************   *******************************************************************   *******************************************************************   shell读文件的十二种方法(收藏)Shell 2009-11-03 22:52:53 阅读503 评论1 字号:大中小#!/usr/bin/ksh   #   # SCRIPT: 12_ways_to_parse.ksh.ksh   #   #   # REV: 1.2.A   #   # PURPOSE:  This script shows the different ways of reading   #       a file line by line.  Again there is not just one way   #       to read a file line by line and some are faster than   #       others and some are more intuitive than others.   #   # REV LIST:   #   #       03/15/2002 - Randy Michael   #       Set each of the while loops up as functions and the timing   #       of each function to see which one is the fastest.   #   #######################################################################   #   #       NOTE: To output the timing to a file use the following syntax:   #   # 12_ways_to_parse.ksh file_to_process > output_file_name 2>&1   #   #       The actaul timing data is sent to standard error, file   #       descriptor (2), and the function name header is sent   #       to standard output, file descriptor (1)。   #   #######################################################################   #   # set -n  # Uncomment to check command syntax without any execution   # set -x  # Uncomment to debug this script   #   FILENAME="$1"   TIMEFILE="/tmp/loopfile.out" >$TIMEFILE   THIS_SCRIPT=$(basename $0)   ######################################   function usage   {   echo "/nUSAGE: $THIS_SCRIPT  file_to_process/n"   echo "OR - To send the output to a file use: "   echo "/n$THIS_SCRIPT  file_to_process  > output_file_name 2>&1 /n"   exit 1   }   ######################################   function while_read_LINE   {   cat $FILENAME | while read LINE   do   echo "$LINE"   :   done   } ######################################   function while_read_LINE_bottom   {   while read LINE   do   echo "$LINE"   :   done < $FILENAME   }   ######################################   function while_line_LINE_bottom   {   while line LINE   do   echo $LINE   :   done < $FILENAME   }   ######################################   function cat_while_LINE_line   {   cat $FILENAME | while LINE=`line`   do   echo "$LINE"   :   done   }   ######################################   function while_line_LINE   {   cat $FILENAME | while line LINE   do   echo "$LINE"   :   done   }   ######################################   function while_LINE_line_bottom   {   while LINE=`line`   do   echo "$LINE"   :   done < $FILENAME   }   ######################################   function while_LINE_line_cmdsub2   {   cat $FILENAME | while LINE=$(line)   do   echo "$LINE"   :   done   }   ######################################   function while_LINE_line_bottom_cmdsub2   {   while LINE=$(line)   do   echo "$LINE"   :   done < $FILENAME   }   ######################################   function while_read_LINE_FD   {   exec 3<&0   exec 0< $FILENAME   while read LINE   do   echo "$LINE"   :   done   exec 0<&3   }   ######################################   function while_LINE_line_FD   {   exec 3<&0   exec 0< $FILENAME   while LINE=`line`   do   echo "$LINE"   :   done   exec 0<&3   }   ######################################   function while_LINE_line_cmdsub2_FD   {   exec 3<&0   exec 0< $FILENAME   while LINE=$(line)   do   print "$LINE"   :   done   exec 0<&3   }   ######################################  function while_line_LINE_FD   {   exec 3<&0   exec 0< $FILENAME   while line LINE   do   echo "$LINE"   :   done   exec 0<&3   }   ######################################   ########### START OF MAIN ############   ######################################   # Test the Input   # Looking for exactly one parameter   (( $# == 1 )) || usage   # Does the file exist as a regular file?   [[ -f $1 ]] || usage   echo "/nStarting File Processing of each Method/n"   echo "Method 1:"   echo "/nfunction while_read_LINE/n" >> $TIMEFILE   echo "function while_read_LINE"   time while_read_LINE >> $TIMEFILE   echo "/nMethod 2:"   echo "/nfunction while_read_LINE_bottom/n" >> $TIMEFILE   echo "function while_read_LINE_bottom"   time while_read_LINE_bottom >> $TIMEFILE   echo "/nMethod 3:"   echo "/nfunction while_line_LINE_bottom/n" >> $TIMEFILE   echo "function while_line_LINE_bottom"   time while_line_LINE_bottom >> $TIMEFILE   echo "/nMethod 4:"   echo "/nfunction cat_while_LINE_line/n" >> $TIMEFILE   echo "function cat_while_LINE_line"   time cat_while_LINE_line >> $TIMEFILE   echo "/nMethod 5:"   echo "/nfunction while_line_LINE/n" >> $TIMEFILE   echo "function while_line_LINE"   time while_line_LINE >> $TIMEFILE   echo "/nMethod 6:"   echo "/nfunction while_LINE_line_bottom/n" >> $TIMEFILE   echo "function while_LINE_line_bottom"   time while_LINE_line_bottom >> $TIMEFILE   echo "/nMethod 7:"   echo "/nfunction while_LINE_line_cmdsub2/n" >> $TIMEFILE   echo "function while_LINE_line_cmdsub2"   time while_LINE_line_cmdsub2 >> $TIMEFILE   echo "/nMethod 8:"   echo "/nfunction while_LINE_line_bottom_cmdsub2/n" >> $TIMEFILE   echo "function while_LINE_line_bottom_cmdsub2"   time while_LINE_line_bottom_cmdsub2 >> $TIMEFILE   echo "/nMethod 9:"   echo "/nfunction while_read_LINE_FD/n" >> $TIMEFILE   echo "function while_read_LINE_FD"   time while_read_LINE_FD >> $TIMEFILE   echo "/nMethod 10:"   echo "/nfunction while_LINE_line_FD/n" >> $TIMEFILE   echo "function while_LINE_line_FD"   time while_LINE_line_FD >> $TIMEFILE   echo "/nMethod 11:"   echo "/nfunction while_LINE_line_cmdsub2_FD/n" >> $TIMEFILE   echo "function while_LINE_line_cmdsub2_FD"   time while_LINE_line_cmdsub2_FD >> $TIMEFILE   echo "/nMethod 12:"   echo "/nfunction while_line_LINE_FD/n" >> $TIMEFILE   echo "function while_line_LINE_FD"   time while_line_LINE_FD >> $TIMEFILE

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档