私はこのコードを持っています
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 で動作する他のアイデアを教えてください。