2017-07-14 10 views
1

申し訳ありませんが、私はブラジル出身です。私の英語は流暢ではありません。ファイルを連結する際の問題shellscipt

私はshellscriptからcatコマンドを使って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 
+0

あなたが何を意味しますか? –

+0

'cat $ DIRFILE/AI6LM7 [67]?_ AI6_CF2_SLOTP *'のようなワイルドカードを使うことはできますか? –

答えて

0

私は、関数内で猫のブロックを入れて問題を解決し、そして最終的なファイルに標準出力をリダイレクトします。

例:「私は、ファイルからそれを実行すると、ファイルのすべてのコンテンツを画面上に示されたされている」 CONCATENATE()

関連する問題