用于从bash中的文件中提取一系列行的脚本

时间:2013-07-24 01:22:43

标签: linux bash shell solaris

我有这段代码

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_prepago_paqu_w $ week_“创建了自base_1以来5000行的3个文件。我没有使用拆分,因为我需要读取文件Prenum或Posnum中的数字。

在文件Prenum中有一个数字

$cat Prenum
 5008971

并且代码选择文件的范围,例如,如果数字是:5008971和 我写bash script.sh 5000 3 0输出的是5008971 + 5000到5008971 + 15000行的3个文件。

你能帮我解决一下我的问题吗?还是有其他适用于solaris的想法?

0 个答案:

没有答案