您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

Shell脚本将普通文件转成xml格式文件

时间:2019-11-20 11:42:40  来源:  作者:

需求场景:

公司某个站点删除大量稿件,但是这些稿件已经被百度收录,这样用户访问将会出现404,用户体验不太好,所以需要将删除的稿件生成为xml格式文件,并且每个文件为5000条数据,然后提交至百度进行收录删除。

普通文件:

https://www.abc.com/html/ys/13003183/20191115/123456.html

https://www.abc.com/html/ys/13003183/20191115/123765.html

https://www.abc.com/html/ys/13003183/20191115/567567.html

https://www.abc.com/html/ys/13003183/20191115/456456.html

https://www.abc.com/html/ys/13003183/20191115/374456.html

https://www.abc.com/html/ys/13003183/20191115/37456645.html

xml格式文件:

<urlset>

<url> <loc> https://www.abc.com/html/ys/13003183/20191115/37404973.html </loc> </url>

<url> <loc> https://www.abc.com/html/jb/13003184/20191115/37404988.html </loc> </url>

<url> <loc> https://www.abc.com/html/jb/13003184/20191115/37404968.html </loc> </url>

<url> <loc> https://www.abc.com/ylaq/13003182/20191115/37404860.html </loc> </url>

<url> <loc> https://www.abc.com/ylaq/13003182/20191115/37404861.html </loc> </url>

</urlset>

脚本信息:

cat xml.sh
#!/bin/bash
#
sed -i 's/^/<url> <loc> /g' $1
sed -i 's/$/ </loc> </url>/g' $1
name=`echo $1 | awk -F"." '{print $1}'`
echo $name
split -l 5000 $1 ${name}_xml
for filename in `find ./ -name "${name}_xml*"`
do
 sed -i '1 i\<urlset>' $filename
 echo "</urlset>" >> $filename
 mv $filename ${filename}.xml
done

执行:

sh xml.sh 文件名称

脚本讲解:

  • 脚本使用sed对行首和行尾添加字段;
  • 定义变量去掉文件后缀名称;
  • 使用split对文件进行分割;
  • 使用for循环对分割后的文件进行添加xml首部和尾部字段,然后进行重命名;


Tags:Shell脚本   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
什么是shellshell是c语言编写的程序,它在用户和操作系统之间架起了一座桥梁,用户可以通过这个桥梁访问操作系统内核服务。 它既是一种命令语言,同时也是一种程序设计语言,你可以...【详细内容】
2021-12-16  Tags: Shell脚本  点击:(18)  评论:(0)  加入收藏
如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码。可以安装使用shc工具,普通用户无法读取shc创建的加密Shell...【详细内容】
2021-11-04  Tags: Shell脚本  点击:(41)  评论:(0)  加入收藏
shell脚本是一个命令语言,面向的是操作系统执行。如果写过shell脚本的话,应该体会过编写过程的痛苦。因为shell并不是一个编程语言,并不支持常见的数组,JSON等数据结构,也不支持...【详细内容】
2021-08-09  Tags: Shell脚本  点击:(109)  评论:(0)  加入收藏
日常工作中经常涉及Linux环境下的进程以及Docker容器相关的操作,现有几例常用的shell脚本,以供大家学习交流。 1进程的启动、关闭、重启 应用程序中有master、worker两种角色...【详细内容】
2021-05-06  Tags: Shell脚本  点击:(227)  评论:(0)  加入收藏
一、脚本今天主要分享一个shell脚本,用来获取linux系统CPU、内存、磁盘IO等信息。#!/bin/bash# 获取要监控的本地服务器IP地址IP=`ifconfig | grep inet | grep -vE &#39;ine...【详细内容】
2021-03-16  Tags: Shell脚本  点击:(204)  评论:(0)  加入收藏
每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar&hellip;&hellip;?边敲边想着都需要追加哪些参数?今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程...【详细内容】
2021-01-18  Tags: Shell脚本  点击:(161)  评论:(0)  加入收藏
相信大家在网上一搜,就能搜出很多这样的文章,但我这个不一样哦,我在脚本里加了些自定义的东西(如关闭版本号,修改nginx版本头信息,nginx性能优化等等),可以不用修改直接就可...【详细内容】
2020-12-24  Tags: Shell脚本  点击:(133)  评论:(0)  加入收藏
在企业的Liunx运维中,经常需要应用到各种shell脚本,比如Mysql数据库备份Shell脚本和Mysql主从同步监控Shell脚本等等常用企业运维shell脚本。。下面分享两例,希望对大家有帮助...【详细内容】
2020-12-18  Tags: Shell脚本  点击:(195)  评论:(0)  加入收藏
在编写脚本的过程中,很多时候都需要我们去设置IP地址,密码之类的变量,为了易用性,我们对这些变量的值都会提供选择范围或者设置随机值以及默认值等。那么如果我们要判断使用脚本...【详细内容】
2020-12-04  Tags: Shell脚本  点击:(302)  评论:(0)  加入收藏
Jenkins是一款开源的CI&CD软件, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。JenkinsJenkins基于Java环境,可以部署在windows/Mac OS/linux上,通过其网页...【详细内容】
2020-11-06  Tags: Shell脚本  点击:(611)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的&emsp;&emsp;程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条