我有这个代码
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 机器上运行此代码但无法正常工作,在 solaris 中文件运行但不能正常工作,因为创建了我编写的文件数量,但我的所有文件文件是 seim,在 linux 中创建我所有的文件,但会增加。代码必须在我编写的行中拆分文件
例如
bash script.sh 5000 3 0
此代码从文件 base_1 开始创建 3 个 5000 行的文件:base_prepago_paqu_w$week_"。我没有使用拆分,因为我需要读取文件 Prenum 或 Posnum 中的数字。
在文件 Prenum 中有一个数字
$cat Prenum
5008971
并且代码选择文件的范围,例如,如果数字是:5008971,我写bash script.sh 5000 3 0
的输出是从 5008971+5000 到 5008971+15000 行的 3 个文件。
你能帮我解决我的问题吗?或者其他适用于solaris的想法?