-l:按行分隔,每1000行切割test.txt文件
-d:添加数字后缀
-a:以3位数数字做尾数
test_:分割后的文件的前缀
在基础版的结果上,先执行ls命令,查找test_split_开头的文件,然后逐个重命名为.txt
五行关键字应该分割为6个文件啊?要不就是只取关键字行以下的行。
思路:用sed得出包含这个关键字的行的行号,然后根据行号分割文件。
#!/bin/shmyFile=TestResult.txt
num=5
count=0
line=`sed -n '/FILE_TESTCASERESULT/=' $myFile`
for n in $line
do
[ $count -eq 0 ] && let startLine=n+1 && continue
let count+=1
let endLine=n-1
[ $count -eq $num ] && endLine=`sed -n '$=' myFile`
sed -n "${startLine},${endLine} pq" $myFile >result_${count}.txt
let startLine=n+1
done
结果保存到result_1.txt,result_2.txt,result_3.txt,result_4.txt,result_5.txt五个文件中。
注:关键字行本身不保存。如果要保存关键字行,请修改代码中的 let startLine=n+1 为 startLine=$n (两处地方)。
#!/bin/awk{
if(/[ ]*create table/){
name=$0
sub("[ ]*create table ","",name)
}
print>name
}
就是判断当前行是不是create table 如果是,就设置name变量为table 名。
随后把当前行输出到name文件。
因此每次遇到create table 就会变换name 文件名。不需要判断结尾的行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)