我已经将圣经转换为纯文本文件,结果是这样的
$$ 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脚本的新手,似乎不知道如何处理文件来完成这个任务。
任何想法吗?
由于您只需要用两个换行字符替换数字后面的空格,因此您可以使用以下命令:
sed 's/([0-9]) /1nn/' <textfile >newfile
-将(第一个)一个数字后面跟着空格,替换为同一个数字后面跟着两个n
。
这个工作得很好,直到有一行写着"约翰一书1:1写在这里",然后它在错误的位置分割了这行。我该怎么解释呢?
要考虑到在名称前有数字和空格的行,我们可以在模式中包括一个字母和最后一个数字之前的所有内容:
sed 's/([a-z].*[0-9]) /1nn/' <textfile >newfile