bash - bash 在一组行中追加行
问题描述
为澄清而编辑 我有一个包含内容的文件
Group1
LineA
LineB
LineC
Group2
LineA
LineB
LineC
Group3
LineA
LineB
LineC
我想在一个组中插入一个特定的模板。假设我调用一个函数insertAtGroup 2 D
,最终结果应该是
Group1
LineA
LineB
LineC
Group2
LineA
LineB
LineC
LineD
Group3
LineA
LineB
LineC
我用 sed 试过了,但我无法让它工作
解决方案
使用 perl 使用“段落模式”
perl -p00e 's/$/LineD\n/ if /^Group2/' file.txt
如果要就地编辑添加-i
标志
perl -i -p00e 's/$/LineD\n/ if /^Group2/' file.txt
推荐阅读
- javascript - 通过 jQuery 在其中插入带有脚本标签的代码
- angular - 保持包大小精简并保持所有内容结构化的最佳实践是什么?
- html - Margin-top 下推父级但溢出:隐藏无济于事
- python - 如何找到每个节点的中介中心性
- javascript - 在嵌套对象中搜索键并删除它们
- python - 手势事件在 PC 平台上不起作用吗?
- ios - Firebase 存储:在模拟器上运行良好,但在设备上出错
- azure-devops - Azure DevOps 发布管道失败,密钥集不存在
- c# - 如何在 Blazor 中将一个组件引用传递给另一个组件?
- c++ - qDebug()< 输出中的 '*' 和 ')' 是什么意思
代码:
QByteArray receive=serialport.readAll(); qDebug()<<"receive="<<receive;
q调试输出:
receive= "\x02\x03*\x00\x00\x00\x00\x00\x