`
gaofen100
  • 浏览: 1200717 次
文章分类
社区版块
存档分类
最新评论

ksh read file examples

 
阅读更多

以KSH为例:


#!/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

分享到:
评论

相关推荐

    shell linux unix ksh

    KSH,全称Korn Shell,是由David Korn开发的一种强大的命令解释器,它是Bash Shell的一个扩展,提供了许多高级特性。在这个主题中,我们将深入探讨Shell、Linux、Unix以及KSH的相关知识点。 首先,Shell是操作系统...

    centos系统下ksh的安装包

    centos系统下执行ksh文件时,需要安装相对应的ksh安装包

    Learning KSH.doc

    Learning KSH.doc 07/17/2009

    ksh获取网址.rar

    曾经在网上寻求很久都无法找到的ksh版本,在一个ksh资源网站寻得,在此仅将苦苦寻得的两个网址分享给大家,ksh各版本rpm版相当全,如果这两个网址没有相信很难再寻求到了!!!不要50分,仅需5分即可!

    ksh修改配置文件脚本

    例如,`while read line; do process "$line"; done 会逐行处理`config.txt`。 6. **错误处理**:良好的脚本应包含错误处理机制,如`set -e`可以使得脚本在遇到错误时立即退出,`trap`则可以定义在脚本退出时执行的...

    适用于CentOS Linux 6.9 的ksh包(32位)

    32位版本的ksh包,适用于CentOS Linux 6.9 系统,资源为rpm格式,使用rpm -ivh 包名 安装

    unix ksh script

    在IT行业中,Unix Korn Shell(KSH)脚本是一种强大的工具,用于自动化Unix和Linux系统中的任务。本文将深入探讨Unix KSH脚本的基本概念、语法特点以及它在实际工作中的应用。 Unix Korn Shell是Brian K. Kernighan...

    用ksh打印所有排列

    使用ksh来打印所有排列,经典的递归解决方案。

    ksh-20100621-19.el6.x86_64.rpm

    ksh-20100621-19.el6.x86_64.rpm

    ksh参考书,入门到精通

    很好的ksh学习资料,入门到精通,可作为经验者的参考手册。

    ksh-20120801-19.el7.x86_64

    ksh-20120801-19.el7.x86_64.rpm

    ksh-20120801-22.el7_1.2.x86_64.rpm

    ksh-20120801-22.el7_1.2.x86_64.rpm,ksh-20120801-22.el7_1.2.x86_64.rpm

    ksh-20100621-6.el6.x86_64.rpm

    ksh-20100621-6.el6.x86_64.rpm

    ksh-20100621-6.el6.i686.rpm

    ksh-20100621-6.el6.i686.rpm

    ksh实验代码

    在KSH原作者代码的基础上进行修改,对sift特征进行训练得到hash表示。

    ksh-WRF 介绍

    【ksh-WRF 介绍】 本文将对WRF(Weather Research and Forecasting)模型中的ksh脚本程序进行简要介绍。WRF是一款开源的高级气象预报系统,它使用ksh(Korn shell)脚本来处理一系列预处理、运行和后处理任务。ksh...

    ksh-20120801-10.el6.x86_64.rpm

    ksh-20120801-10.el6.x86_64.rpm

    ksh-20080202-2.el5.i386.rpm

    ksh-20080202-2.el5.i386.rpm linux装oracle用 个人备份

    sh,ksh,csh介绍.pdf

    Bourne shell(s h)、C shell(c s h)以及Korn shell(k s h)是命令解释程序及高级编程语言

    ksh-20060214-1.7.i386.rpm

    linux下安装oracle变装rpm包

Global site tag (gtag.js) - Google Analytics