我们可以使用带有 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!