一个用sed给xml的标签编号的Bash脚本

渗透测试入门指南:从零构建网络安全实战能力 网络安全的核心在于主动防御,渗透测试作为模拟真实攻击的安全评估方法,其原理是通过授权测试来发现系统、网络和应用中的潜在漏洞。这项技术的价值在于能够像安全医生一样,在黑客入侵前诊断并修复安全病症,从而为企业筑牢防线。在应用场景上,渗透测试广泛应用于金融、政府、互联网等关键行业,是保障数字资产安全的重要手段。掌握渗透测试需要理解网络协议、操作系统和Web技术等基础概念,并熟练使用Kali Linux、Burp Suite等工具进行实战演练。对于初学者而言,构建一个隔离的虚拟化环境进行合法练习至关重要,同时遵循标 阅读详情
记录一下这个小脚本,试探了很久才研究出这个方法来给我的一个xml文件编号。

这个文件最初是从博客上直接复制粘贴下来的,根据其格式先对其html tag替换做好标记,然后用一句sed转换成xml的:

cat susan.txt|
sed -e 's/title/(.*/)$/<//content>/r/n<//blog>/r/n<blog>/r/n<title>/1<//title>/'|
sed -e 's/timestamp/(.*/)/<timestamp>/1<//timestamp>/r/n<content>/'|
sed -e 's/[ ]+/  /' > susanfmt.xml

当然,还要稍作调整。

但接着我需要对博客进行编号,即每一个<blog>我都需要变成<blog id="编号">,sed自己是干不了了,所以结合一点Bash:

declare -i j=1

for ((i=$(cat susanfmt.xml|tee susanalt.xml|wc -l);i>=1;i--))
do
sed
-i -e "$i""s/<blog>/<blog id==/"$i/">/" susanalt.xml
grep "<blog id==/"$i/">" susanalt.xml
if [ $? -eq 0 ]
then
sed
-i -e "$i""s/<blog id==/"$i/">/<blog id=/"$j/">/" susanalt.xml
j
=$j+1
fi
done


以上,先将目的文档susanfmt.xml复制到susanalt.xml,同时计算出行数。从最后一行到第一行,先将遇到的<blog>替换成<blog id=="该行行数">,注意多了一个=号,这是防止与最终结果相冲突。这明显不是我们要的,用grep的返回值确认的确做了一次替换后,将id=="行数"改成id="编号"。有点怪异,而且重复工作也多,效率较低,但是这是目前唯一想到的办法。
Jenkins流水线部署SpringBoot:从零到一的Pipeline实战详解 本文详细介绍了如何使用Jenkins流水线自动化部署SpringBoot项目,从环境搭建到Pipeline脚本编写,再到实战中的避坑指南和性能优化技巧。通过具体的代码示例和最佳实践,帮助开发者快速掌握Jenkins与SpringBoot的集成部署,提升CI/CD流程效率。 阅读详情

相关推荐

从混乱项目标题到规范技术标识:命名、版本与工程化实践

在软件工程领域,命名规范、版本管理与模块化设计是保障代码可读性、可维护性和团队协作效率的基石。其核心原理在于通过一套清晰、一致的标识符体系,将业务概念映射为机器可读、工具友好的技术元数据,从而降低系统认知负荷,提升自动化流程的兼容性。这一实践的技术价值在于,它能有效避免因特殊字符、语义模糊导致的构建失败、部署错误和协作混乱,是持续集成与持续交付(CI/CD)流水线顺畅运行的前提。典型的应用场景包括微服务架构中的服务发现、依赖管理、容器镜像构建以及多环境配置管理。本文将以一个包含非标准字符的复杂项目标题为例,

weixin_30239339的博客 585

Android证书移动全攻略:从手动安装到自动化脚本部署

SSL/TLS证书是保障HTTPS通信安全与实现网络流量调试的核心组件。其工作原理基于公钥基础设施(PKI),通过数字签名建立客户端与服务器之间的信任链。在移动开发与安全测试领域,高效管理证书对于调试API接口、分析HTTPS流量至关重要。Android系统将证书分为用户证书和系统证书,两者在存储路径、权限及全局信任度上存在显著差异,这直接影响了调试工具(如mitmproxy、Charles)的生效范围。理解证书的格式转换、哈希命名规则及系统加载机制,是解决证书部署难题的技术基础。本文聚焦于`Android

congsikuai0611的博客 310

Ubuntu 16.04 手动部署 TigerVNC 远程桌面实战指南

VNC(Virtual Network Computing)是一种基于 RFB 协议的远程图形化访问技术,通过捕获 X Window Server 的显示输出实现跨平台桌面共享。其核心原理是将本地 X11 渲染结果编码为像素流,经网络实时传输至客户端解码显示,不依赖浏览器或特定桌面环境。相比 SSH X11 转发的单应用局限和 WebRTC 远程桌面的沙箱约束,VNC 具备原生 GUI 支持、低系统耦合、轻量级会话隔离等工程优势,特别适用于嵌入式设备、教育机房及遗留系统维护场景。在 Ubuntu 16.04

weixin_33885676的博客 649

3分钟精通XML解析:Bash循环读取XML的终极指南

在Bash脚本开发中,XML解析是一个常见但让很多开发者头疼的任务。今天我将为你揭示如何在3分钟内掌握Bash循环读取XML的高效方案,无需复杂工具,只需简单的Bash命令就能搞定!🚀 ## 为什么选择Bash处理XML? Bash作为Linux系统的默认shell,具有轻量级、高效和广泛兼容的特点。使用Bash处理XML文件,你不需要安装额外的库或工具,直接利用系统内置命令就能完成复杂的X

gitblog_00899的博客 426

SSM校园快递系统:从毕设到真实落地的业务闭环实践

校园快递管理系统是高校信息化建设中的典型业务场景,其核心在于将现实运营规则转化为可执行的软件逻辑。不同于通用CRUD项目,该系统围绕寄件、分拣、上架、扫码取件与异常处理构建完整业务闭环,并深度结合SSM框架底层原理(如DispatcherServlet生命周期、MyBatis SqlSession管理、Spring事务传播机制)实现高可控性与教学契合度。技术选型坚持SSM而非SpringBoot,兼顾教学大纲要求、老旧硬件兼容性及答辩考点覆盖;数据库设计规避外键约束以适配学生动态调寝等真实业务变更;取件码采

weixin_34184158的博客 488

YOLO行人数据集预处理全流程:从原始压缩包到可训练标准格式

YOLO目标检测模型依赖严格规范的输入数据,而‘行人数据集’作为典型细粒度类别,面临坐标归一化、类别ID一致性、图像-标签配对、小目标适配等多重技术约束。其核心原理在于将原始标注(如.txt+jpg组合)转化为符合YOLOv5/v8/v10要求的标准化结构——包括[0,1]区间归一化五元组、统一class_id映射、无越界/缺失/编码异常的洁净样本。这一过程直接决定模型收敛稳定性与mAP上限,尤其在监控、工地、商场等真实行人场景中,数据质量比模型调参更具杠杆效应。本文聚焦YOLO行人数据集.zip这一高频下

weixin_33812433的博客 330

Shell (bash) 解析xml maven pom

工具: xmllint centos 7 中已经带有xmllint不需要安装。 解析普通类型 解析 text1.xml 文件 <paraent> <item name="1"> <key>username</key> <value>1111</value> </item> <item nam...

q1009020096的博客 1614

xml语法合法性 xml 格式验证xml格式检查 shell awk sed实现

shell awk sed实现xml语法合法性 xml 格式验证xml格式检查 。不需要scheam文件,只验证符号的合法性

linux:sed修改xml中的值示例

利用sed指定搜索范围的正则表达式匹配(类似 /1,5s/hello/world/1) 实现对XML文档中指定字段的修改 基本的思路就是要在指定范围内进行搜索替换。首先确定搜索范围: 通过在xml中查找server的起始标记和结束标记来确定搜索起始行号和结束行号 然后在搜索范围内进行正则表达式匹配替换

10km的专栏 3889

Windows11上CUDA 12.3配PyTorch踩坑记:一条官网命令救了我的GPU加速

本文详细介绍了在Windows 11上配置CUDA 12.3与PyTorch的完整指南,包括环境准备、安装要点、兼容性解决方案和性能验证。通过官方推荐的conda命令和实用技巧,帮助开发者解决常见问题,实现高效的GPU加速,提升深度学习开发效率。

weixin_42528974的博客 109

网络工程系统CAD图:从设计到落地的关键技能与实战指南

网络工程并不只是配置路由器和交换机,真正的核心在于将设计方案转化为可施工的物理图纸。网络工程系统CAD图正是连接逻辑设计与物理世界的桥梁,它涵盖综合布线、信息点布置、桥架路由、弱电间规划等关键内容。理解并掌握这套图纸体系,是网络工程师从基础设备调试走向项目主导者、弱电总工乃至网络架构师的重要分水岭。在园区网、数据中心、智能楼宇等真实场景中,一套规范的系统CAD图直接决定了施工质量、验收效率与后期运维的可靠性。本文从基础概念出发,拆解图纸的组成层次、绘制流程和软件工作流,并结合学习路线与就业方向,帮助初学者建

weixin_33860553的博客 391

shell常实用命令

利用ssh远程执行服务器命令 fuction expect_server() { expect <<EOF set timeout 1000 spawn $@ expect { "(yes/no)?" {send "yes\r"; exp_continue} "asswor*" {send "${SERVER_PASSWD}\r"; exp_continue} eo...

weixin_41469272的博客 7559

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

1727

ROS fuerte调试核心:rxconsole与roslaunch原理与实战

ROS(Robot Operating System)作为机器人开发的事实标准,其通信模型、参数管理与节点生命周期机制是系统稳定性的底层基础。理解这些机制需回归设计原点——fuerte版本的rxconsole和roslaunch以极简XML与纯文本日志直呈ROS内核逻辑:rxconsole本质是/rosout话题的轻量订阅器,提供毫秒级日志可见性与进程隔离;roslaunch则通过可验证XML Schema实现静态、无状态、跨语言的部署描述。这种‘显式优于隐式’的设计哲学,不仅支撑了早期分布式机器人系统的可

446

【YoloV11改进策略】基于流形约束超连接(mHC)增强YoloV11全局特征提取能力|独家复现|梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1349

输入文件(Example-1.inp)参数解读与获取方法

弹性参数:优先使用默认值(泊松比 0.25、杨氏模量 8×10⁵ bars),或参考区域地质 / 地球物理研究。断层参数:从地震矩反演、GPS 位移反演、地质图 / 震源机制获取(核心参数,需确保准确性)。网格 / 图形参数:根据研究区范围和输出需求调整(步长 / 放大系数等)。

2301_79258000的博客 81

Claude 3.5 Sonnet 实效排障指南:5类真实原因与终端级验证

大语言模型调用中‘响应变慢’‘输出不准’等体验退化现象,本质多源于服务链路中的环境层、协议层或提示工程问题,而非模型本身退化。Claude 3.5 Sonnet 作为Anthropic当前主力版本,具备200K上下文、原生多图理解与强推理能力,但其真实效能高度依赖API路由准确性、HTTP/2协议支持、system prompt长度控制及中文标点规范化等工程细节。本文基于官方文档与217例生产故障复盘,系统梳理网络抖动、prompt截断、中文提示失准、SSE解析错误及模型局限五大高频根因,并提供curl命令

civtsbiqr522632413的博客 445

在ros中进行多传感器融合定位

ROS 中的 robots_localization 包是一个非常有用的包,可以使用各种卡尔曼滤波器融合任意数量的传感器!我们将使用它将全局姿势数据(x、y、z 和orientation)与机器人上的现有传感器融合,以实现更强大的定位!

如果想成为中心,那么就到中心去吧。 3003

Linux命令及使用方法new

本文总结了Linux系统管理与开发环境配置的实用技巧,涵盖了常用命令、工具配置和问题解决方法。主要内容包括:Linux基础操作(文件/目录管理、vim编辑器、权限控制);系统资源监控(du/df命令);文本处理(grep/cut/awk);Ubuntu系统问题排查;开发工具链配置(Anaconda/Virtualenvwrapper/Jupyter);终端增强(cmder/Screen);IDE使用(VSCode/Visual Studio);非root权限软件安装;Windows冷门知识;LaTeX语法;

zhjadsf的博客 3217

【即插即用模块】注意力篇 | TGRS 2025 | MFA聚特征+HPDown保细节+HFF融层级,三大模块各司其职,性能翻倍!

本文介绍了MTMLNet网络中的三大核心模块:MFA(多阶段特征聚合)、HPDown(混合池化下采样)和HFF(分层特征融合)。MFA通过双尺度深度卷积和注意力机制增强特征提取能力;HPDown结合平均池化和最大池化,有效保留下采样过程中的特征信息;HFF采用三注意力机制实现自适应特征融合。这三个模块协同工作,在红外小目标检测与分割任务中取得了SOTA效果。实验表明,各模块在特征提取、信息保留和融合方面均优于传统方法,可灵活应用于各类视觉任务中。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 286

使用Python实现深度学习模型:智能光污染监测与管理

本项目将通过以下几个步骤实现智能光污染监测:收集光污染图像数据数据预处理构建深度学习模型训练模型评估模型部署模型用于实时监测通过本文介绍的步骤,我们实现了一个使用Python和深度学习技术的智能光污染监测与管理系统。该系统能够自动识别光污染源,为相关管理部门提供科学依据,以便更好地规划和管理城市照明。同时,这一方法还可以扩展到其他环境监测领域,为环境保护贡献力量。

Echo_Wish 596

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

linux 文本编辑器:vi、vim、实用技巧、vimplus、插件管理器vundle、Nano编辑器

Vim / Vi 是一个功能强大的全屏幕文本编辑器。vim ( Vi IMproved ) 是 vi的一个加强版,主要用来 "创建、编辑、显示" 文本文件。现在主流的 linux 都会安装 vim 文本编辑器。Vim/Vi 没有菜单,只有命令。linux 下还有另外2个强大的编辑器 Emacs、Nano。

freeking101的博客 4万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Ubuntu 18.04生产级初始配置:安全、时间、网络与ROS就绪七步法

Linux服务器初始化并非‘装完即用’,而是构建可审计、可回滚、可监控的生产基线的关键过程。其核心在于理解systemd服务生命周期、APT包管理机制与cloud-init集成逻辑,通过安全加固(SSH密钥认证+root锁定)、高精度时间同步(systemd-timesyncd国内源配置)、最小化网络暴露(ufw策略+ROS端口白名单)、权限隔离(sudoers命令白名单)、日志持久化(journald标签化)、服务依赖编排(After/Wants声明)及增量备份(rsync快照)七大维度协同落地。尤其在R

418

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

从日志投毒到内核提权:Tomato靶机实战渗透攻击链解析

在网络安全领域,本地文件包含(LFI)是一种常见的Web应用程序漏洞,它允许攻击者通过未经验证的用户输入参数,读取或包含服务器上的任意文件。其原理在于应用程序未对文件路径参数进行严格过滤,导致目录遍历攻击成为可能。这项技术的价值在于,它往往能成为攻击者从外部访问转向内部系统权限提升的关键跳板。在实际应用场景中,攻击者常将LFI与服务器日志文件访问相结合,实施“日志投毒”攻击,即通过污染日志内容并诱导应用程序包含执行,从而获取初始立足点。进一步地,在获得低权限Shell后,系统内核提权便成为获取最高控制权的核

weixin_33795093的博客 291
上一篇: 最后的暑假,疯狂的Fedora
下一篇: CSS所有属性的XML
Utensil
博客等级 码龄19年 61粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值