我們可以使用帶有 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!