我們可以使用帶有 w 選項的 sed 將檔案拆分成多個檔案。可以通過指定行地址或模式來拆分檔案

假設我們要分割這個原始檔:

cat -n sourcefile

1 在寧南農
2 奶牛去哪裡奉!
3,猴子都說 BOO!
4 有一個 Nong Nang Ning
5 哪裡的樹去 Ping!
6 和茶壺 jibber jabber joo。
7 在 Nong Ning Nang

按行號拆分檔案的命令:

sed '1,3w f1
> 4,7w f2' sourcefile

這將 line1 寫入 line3 到檔案 f1,line4 到 line7 從原始檔寫入檔案 f2。

cat -n f1

1 在寧南農
2 奶牛去哪裡奉!
3,猴子都說 BOO!

cat -n f2 

1 有一個 Nong Nang Ning
2 哪裡的樹去 Ping!
3 和茶壺 jibber jabber joo。
4 在農寧南

按上下文/模式拆分檔案的命令:

sed '/Ning/w file1
> /Ping/w file2' sourcefile

這會將原始檔拆分為 file1 和 file2。file1 包含與 Ning 匹配的所有行,file2 包含與 Ping 匹配的行。

cat file1

在寧饢儂
有一個儂饢寧
在農饢寧

cat file2

樹木去哪裡 Ping!