五行關鍵字應該分割為6個檔案啊?要不就是隻取關鍵字行以下的行。思路:用sed得出包含這個關鍵字的行的行號,然後根據行號分割檔案。 #!/bin/shmyFile=TestResult.txtnum=5count=0line=`sed -n "/FILE_TESTCASERESULT/=" $myFile`for n in $linedo [ $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} p;q" $myFile >result_${count}.txt let startLine=n+1done 結果儲存到result_1.txt,result_2.txt,result_3.txt,result_4.txt,result_5.txt五個檔案中。注:關鍵字行本身不儲存。如果要儲存關鍵字行,請修改程式碼中的 let startLine=n+1 為 startLine=$n (兩處地方)。
五行關鍵字應該分割為6個檔案啊?要不就是隻取關鍵字行以下的行。思路:用sed得出包含這個關鍵字的行的行號,然後根據行號分割檔案。 #!/bin/shmyFile=TestResult.txtnum=5count=0line=`sed -n "/FILE_TESTCASERESULT/=" $myFile`for n in $linedo [ $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} p;q" $myFile >result_${count}.txt let startLine=n+1done 結果儲存到result_1.txt,result_2.txt,result_3.txt,result_4.txt,result_5.txt五個檔案中。注:關鍵字行本身不儲存。如果要儲存關鍵字行,請修改程式碼中的 let startLine=n+1 為 startLine=$n (兩處地方)。