csplit - 我做错了什么?

时间:2014-02-12 13:29:42

标签: xml unix utility csplit

我有这个.xml文件:

<docs>
<doc>
Some text
</doc>
<doc>
here some
</doc>
<doc>
text here
</doc>
</docs>

我正在尝试使用csplit来获取文本部分。这就是我想出来的。

$ csplit docs.xml '%^<docs>%1' '/^<\/doc/1' '{*}'

1 个答案:

答案 0 :(得分:1)

如果您所包含的文件结构类似于您可以通过执行grep -v "^<" x或更方便的方法cat x|sed -e 's/<[^>]*>//g'|grep -v '^$'来提取内容,或者根据以下注释执行csplit方式 你可以这样做

cat doc.xml | egrep -v '<?xml version="1.0" \?>|<docs>|</docs>' | csplit -q -z - '/<doc/' '{*}' --prefix=out-