提取两个标签之间的文本并将每个结果保存在单独的文件中

提取两个标签之间的文本并将每个结果保存在单独的文件中

我想检索这两个标签之间的所有内容<data ... - </ data>并将每个结果导出到一个单独的文本文件中此命令运行得很好,但不幸的是输出是一个文件:-(

sed -n '/<data*/,/<\/data>/p' Input.txt > Output.txt

您对此有什么建议吗?

谢谢

答案1

如果我们转发,您可以将结果放入单独的容器中sed输出/输出至 分割

sed -e '/<report>/,\|</report>|!d' input.txt |
csplit -s -z -f Output -  '/<\/report>/+1' '{*}'
  • 根据文件输入,您将看到 Output00、Output01...
  • 分割是在正则表达式后面的行上完成的

相关内容