0

私はこのコードを持っています

week=`date +%V_%d`
date=`date +%d%m%y`

#Cat to a file


        let tamano=`cat Prenum`
        file="White_prepago_${date}.txt"
        name="base_prepago_paqu_w$week_"
        cat WhiteList.txt | grep ",0" | sed '/^57/!s/^/57/'  | awk '{FS=","}{print $1}'> $file



# the number of lines of the file
let numlines=$2
#Must begin in the line in the file
let lines=$tamano+$2

num=$3


for ((i=1; i<=$num; i++))
do
   let d=$4+$i
   cat $file | head -$lines | tail -$numlines > base_$d
   let lines=$lines+$numlines

done
let lines=$lines-$numlines
echo $lines>Prenum

私はこのコードを Linux の VM で実行して動作していますが、Solaris マシンでこのコードを実行しようとしていますが、動作しません。ファイルは seim であり、Linux ではすべてのファイルを作成しますが、増分します。コードは、私が書いた行でファイルを分割する必要があります

例えば

 bash script.sh 5000 3 0

このコードは、ファイルから base_1 以降の 5000 行の 3 つのファイルを作成します。

ファイルPrenumには番号があります

$cat Prenum
 5008971

たとえば、番号が 5008971 の場合、コードはファイルの範囲を選択しbash script.sh 5000 3 0 、出力は行 5008971+5000 から 5008971+15000 までの 3 つのファイルであると書き込みます。

私の問題で私を助けてくれませんか? または、solaris で動作する他のアイデアを教えてください。

4

0 に答える 0