处理ksh中的文本文件附加数据

时间:2010-12-02 16:52:21

标签: regex sed ksh

以下不起作用。 我需要在脚本的末尾添加一个和一个输入参数。请帮忙

#!/bin/ksh

data_log="/usr/data/data_log.dbg"
err_file="/usr/data/data_log.err"

if [ $# -eq 1 ]; then
    inParam=$1
fi

processInfo ${inParam} > ${data_log}

#Append ,inParam to each line in log for further processing
for logger in `cat ${data_log}`
{
    echo ${logger} | sed s/$/,${inParam}/ >> ${err_file}
}

rm -rf ${data_log}

1 个答案:

答案 0 :(得分:0)

用以下内容替换您正在读取文件的for logger in循环:

cat ${data_log} | while read line
do
    echo "${line},${inParam}" >> ${err_file}
done

...我认为可以这样编写(目前没有要测试的shell)到avoid a UUOC ......

while read line
do
    echo "${line},${inParam}" >> ${err_file}
done < ${data_log}