连接文件shellscipt的问题

时间:2017-07-14 12:55:59

标签: shell ksh

对不起,我来自巴西,我的英语不流利。

我想通过cat命令使用shellscript连接20个文件。但是,当我从文件中运行它时,屏幕上会显示所有文件内容。

当我直接从终端运行它时,效果很好。

这是我上面的代码:

#!/usr/bin/ksh

set -x -a
. /PROD/INCLUDE/include.prod
DATE=`date +'%Y%m%d%H%M%S'`
FINAL_NAME=$1

# check if all paremeters are passed

if [ -z $FINAL_NAME ]; then
   echo "Please pass the final name as parameter"
   exit 1
fi

# concatenate files

cat $DIRFILE/AI6LM760_AI6_CF2_SLOTP01* $DIRFILE/AI6LM761_AI6_CF2_SLOTP02* $DIRFILE/AI6LM763_AI6_CF2_SLOTP04* \
$DIRFILE/AI6LM764_AI6_CF2_SLOTP05* $DIRFILE/AI6LM765_AI6_CF2_SLOTP06* $DIRFILE/AI6LM766_AI6_CF2_SLOTP07* \
$DIRFILE/AI6LM767_AI6_CF2_SLOTP08* $DIRFILE/AI6LM768_AI6_CF2_SLOTP09* $DIRFILE/AI6LM769_AI6_CF2_SLOTP10* \
$DIRFILE/AI6LM770_AI6_CF2_SLOTP11* $DIRFILE/AI6LM771_AI6_CF2_SLOTP12* $DIRFILE/AI6LM772_AI6_CF2_SLOTP13* \
$DIRFILE/AI6LM773_AI6_CF2_SLOTP14* $DIRFILE/AI6LM774_AI6_CF2_SLOTP15* $DIRFILE/AI6LM775_AI6_CF2_SLOTP16* \
$DIRFILE/AI6LM776_AI6_CF2_SLOTP17* $DIRFILE/AI6LM777_AI6_CF2_SLOTP18* $DIRFILE/AI6LM778_AI6_CF2_SLOTP19* \
$DIRFILE/AI6LM779_AI6_CF2_SLOTP20* > CF2_FINAL_TEMP

mv $DIRFILE/CF2_FINAL_TEMP $DIRFILE/$FINAL_NAME

1 个答案:

答案 0 :(得分:0)

我解决了将cat块放入函数中并将stdout重定向到最终文件的问题。

例: 串连()