Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这个 .xml 文件:
<docs> <doc> Some text </doc> <doc> here some </doc> <doc> text here </doc> </docs>
我正在尝试使用 csplit 来仅获取文本部分。这就是我想出的。
$ csplit docs.xml '%^<docs>%1' '/^<\/doc/1' '{*}'
如果文件结构像您包含的那样,您可以通过执行grep -v "^<" x或更方便的方法来提取内容,或者cat x|sed -e 's/<[^>]*>//g'|grep -v '^$'根据下面的评论以 csplit 方式执行它,您可以这样做
grep -v "^<" x
cat x|sed -e 's/<[^>]*>//g'|grep -v '^$'
cat doc.xml | egrep -v '<?xml version="1.0" \?>|<docs>|</docs>' | csplit -q -z - '/<doc/' '{*}' --prefix=out-