gpt4 book ai didi

linux - 根据分隔符将一个文件拆分为多个文件

转载 作者:IT老高 更新时间:2023-10-28 12:29:18 27 4
gpt4 key购买 nike

我有一个以 -| 作为分隔符的文件在每个部分之后...需要使用 unix 为每个部分创建单独的文件。

输入文件示例

wertretr
ewretrtret
1212132323
000232
-|
ereteertetet
232434234
erewesdfsfsfs
0234342343
-|
jdhg3875jdfsgfd
sjdhfdbfjds
347674657435
-|

文件 1 中的预期结果

wertretr
ewretrtret
1212132323
000232
-|

文件 2 中的预期结果

ereteertetet
232434234
erewesdfsfsfs
0234342343
-|

文件 3 中的预期结果

jdhg3875jdfsgfd
sjdhfdbfjds
347674657435
-|

最佳答案

一个类轮,没有编程。 (除了正则表达式等)

csplit --digits=2  --quiet --prefix=outfile infile "/-|/+1" "{*}"

测试:csplit (GNU coreutils) 8.30

Apple Mac 使用注意事项

“对于 OS X 用户,请注意操作系统附带的 csplit 版本不起作用。您需要 coreutils 中的版本(可通过 Homebrew 安装),称为 gcsplit。” — @Danial

“只是补充一下,你可以让 OS X 的版本工作(至少在 High Sierra 上)。你只需要稍微调整一下参数 csplit -k -f=outfile infile "/-\|/+1""{3}"。似乎不起作用的功能是 "{*}",我必须具体说明分隔符的数量,以及需要添加 -k 以避免在找不到最终分隔符时删除所有输出文件。此外,如果您想要 --digits,则需要使用 -n 代替。” — @Pebbl

关于linux - 根据分隔符将一个文件拆分为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11313852/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com