Shell脚本如何实现对一个文件按关键字行来分成若干个小文件?

Shell脚本如何实现对一个文件按关键字行来分成若干个小文件?,第1张

五行关键字应该分割为6个文件啊?要不就是只取关键字行以下的行。

思路:用sed得出包含这个关键字的行的行号,然后根据行号分割文件。

#!/bin/sh

myFile=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 (两处地方)。

数据文件(EXCEL,CSV,TXT)的分割使用Data.olllo数据助数巧手,可以按照分割为任意个文件,也可以按照关庆旦键字来分割,比如里面有字誉毕扰段“城市”,可以按照各个城市来分割文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12279427.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存