我已经把一本圣经转换成这样的纯文本文件
$$ 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脚本方面还是新手,似乎找不出处理文件的最佳方法来完成这个任务。
有什么想法吗?
发布于 2021-02-04 20:18:48
由于只需要用两个换行符替换数字后面的空格,所以可以使用以下命令:
sed 's/\([0-9]\) /\1\n\n/' <textfile >newfile用相同的数字和两个\n.替换(第一个)--一个数字,后面是空格
这个程序非常好,直到它读到一行“1 John 1:1写在这里的东西”,然后它在错误的地方把这一行分开。我怎么解释这件事?
为了说明在名称之前有数字和空格的行,我们可以在模式中的最后一个数字之前包括一个字母和所有内容:
sed 's/\([a-z].*[0-9]\) /\1\n\n/' <textfile >newfilehttps://stackoverflow.com/questions/66051527
复制相似问题