首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于在输出文本文件中将句子拆分成新格式的Shell脚本?

用于在输出文本文件中将句子拆分成新格式的Shell脚本?
EN

Stack Overflow用户
提问于 2021-02-04 18:20:19
回答 1查看 55关注 0票数 1

我已经把一本圣经转换成这样的纯文本文件

代码语言:javascript
复制
$$  Genesis 40:1 It came to pass after these things that the butler and the baker of the king of Egypt ..

$$  Genesis 40:2 And Pharaoh was angry with his two officers, the chief butler and the chief baker.

$$  Genesis 40:3 So he put them in custody in the house of the captain of the guard, in the prison, the ..

我希望能够在文本文件上运行shell脚本,并让它在文件中运行,输出如下所示的新文件

$$创世纪40:1

在这些事之后,埃及王的管家和面包师..。

$$创世纪40:2

法老向他的两个军长发怒,就是管家长和面包师长。

$$创世纪40:3

于是他把他们关在看守队长的房子里,在监狱里,

我想,我需要让它解析每一行中的前X个字符,然后在这一点上拆分行,不过,我在shell脚本方面还是新手,似乎找不出处理文件的最佳方法来完成这个任务。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-04 20:18:48

由于只需要用两个换行符替换数字后面的空格,所以可以使用以下命令:

代码语言:javascript
复制
sed 's/\([0-9]\) /\1\n\n/' <textfile >newfile

用相同的数字和两个\n.替换(第一个)--一个数字,后面是空格

这个程序非常好,直到它读到一行“1 John 1:1写在这里的东西”,然后它在错误的地方把这一行分开。我怎么解释这件事?

为了说明在名称之前有数字和空格的行,我们可以在模式中的最后一个数字之前包括一个字母和所有内容:

代码语言:javascript
复制
sed 's/\([a-z].*[0-9]\) /\1\n\n/' <textfile >newfile
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66051527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档