【发布时间】:2017-08-16 14:02:11
【问题描述】:
我有一个 30 GB 的 xml 文件,我想将其拆分为更小的文件。
文件中的数据是这样的:
<film>.....</film>
.
.
.
.
.
.
<film>.....</film>
我可以使用“split -l”,但问题是某些电影元素包含带有换行符的文本数据。所以一个电影元素可能不止一条线。
我想做的是拆分它,以便每个新的较小文件包含例如 3000 个电影元素。所以它应该在每 3000 个电影标签后拆分它......
我正在使用 Mac OS X,我想要一个 awk 解决方案。
我尝试使用这个split file on Nth occurrence of delimiter,但没有成功...在结束电影标签后没有拆分文件...
【问题讨论】:
-
我想你的 awk 不是 gnu,对吧?
-
是的,这是 awk 不是 gawk... :)
-
gawk IS 是一个 awk,就像每个名为 awk 的工具一样,它也是一些变体(awk、nawk、tawk、mawk、gawk、/usr/xpg4/bin/awk、等等......)所以说“它是awk不是gawk”并没有真正的意义。可以安装gawk吗?没有它,你会错过很多非常有用的功能。 edit您的问题包含简洁、可测试的样本输入和预期输出,因此我们可以开始为您提供帮助。将所有这些
...s 替换为真正具有代表性的样本值,如果您必须处理某些位置的换行符,请将它们包含在您的样本中。