bash - Linux sed 命令在每个正则表达式匹配时生成一个新文件
问题描述
我有以下 Linux 命令,用于从一个非常大的日志文件中提取数据。
sed -n "/<trade>/,/<\/trade>/p" Large.log > output.xml
但是,输出是在单个文件output.xml中生成的。我的意图是每次"/<trade>/,/<\/trade>/p"
匹配时创建一个新文件。<id>
每个新文件都将以标签内的标签命名。<trade>
</trade>
像这样的东西...
sed -n "/<trade>/,/<\/trade>/p" Large.log > "/<id>/,/<\/id>/p".xml
但是,这当然不起作用,我不确定如何将正则表达式用作命名规则。
PS此时,我也不确定是否应该使用sed
或者我应该尝试使用awk
解决方案
推荐阅读
- mdx - Mdx 中的百分比汇总
- javascript - 下载所有数据,在本地过滤或仅下载过滤后的数据
- javascript - 为什么代码中的 catch 语句没有捕获异步函数中的错误?
- c# - 我可以使用哪些方法来处理球上的软体物理
- html - 小屏幕上的引导隐藏不起作用?
- python-3.x - 如何在训练 CNN 时为 nn.Linear 层选择参数?
- android - 如何处理“地图添加折线试图抛出 OutOfMemoryError”googlemap 折线绘制
- c++ - 使用 DFS 在图中找到最小成本
- vim - 我正在尝试在 vim 上安装 vdebug,遇到 ./vim 问题
- php - 在主要受限用户而不是 www-data 下运行 PHP 是否安全?