当前位置: 首页 > news >正文

山西高端建设网站建设公司网站法律声明

山西高端建设网站,建设公司网站法律声明,wordpress插件轮播图,北京百度推广代理碎碎念 shell在处理复杂问题的时候不具备优势,如果业务环境能够使用python的话用python又简单又好用,但是很多云平台的现场可能需要shell脚本文件(还好是要求bash) 但是现在有一个业务场景就是运维人员会把参数写在excel表格中 …

碎碎念

shell在处理复杂问题的时候不具备优势,如果业务环境能够使用python的话用python又简单又好用,但是很多云平台的现场可能需要shell脚本文件(还好是要求bash)

但是现在有一个业务场景就是运维人员会把参数写在excel表格中

然后开发人员就要根据运维的表格完成自动构筑,第一步就是取得参数

转换成csv文件

先把excel的文件转换成csv文件

不管用的是微软office或者wps或者libre office,首先打开.xls或者.xlsx文件,编辑好数据

(以下是胡编的数据,当然假设他们的parameter sheet是这么乱写的话)

然后点击导航栏的文件 -> 另存为

然后随便起个名字,后缀名改成.csv后保存即可

然后查看保存的地方,比如我保存在桌面上,就进入到桌面的路径然后用cat查看是否格式正确

该有的东西都有了,每个格子都是用逗号隔开的,如果逗号之间没有任何东西的话

就代表这是一个空格子

使用awk获取数据

【linux】awk的基本使用-CSDN博客

根据awk的用法,首先我们知道csv文件已经帮我们把表格文件变成一行一行的用逗号隔开的文本,而我们刚好知道维护的人员(运维不会写脚本听起来很逆天,但是因为po主在日本,确实有好多运维不会写代码)会把username的值写在username后面,所以针对这一特征就可以截取

username , xxxx 类似这种的结构

# 首先使用grep或许包含有 username 的这一行
grep 'username' man.csv# 然后使用管道把结果传输给awk来处理,指定分隔符为逗号
grep 'username' man.csv | awk -F','# 接着使用循环体判断username在第几列
# 例如在第3列,那么就获取第4列的结果
for(i=1;i<=NF;i++){if($i=="username")print $(i+1)
}# 由于以上的函数要写在awk的代码参数中
awk -F分隔符 '代码'# 所以要括起来,最后的结果就类似于
grep 'username' man.csv | awk -F',' '{for(i=1;i<=NF;i++){if($i=="username")print $(i+1)}}'

就可以获得到数据啦

使用cut的话也可以获得数据,但是灵活上不如可以夹带代码私货的awk,比如明确知道在第4列的话就用谁都可以了

grep 'username' man.csv | cut -d',' -f4

 【linux】cut的基本使用-CSDN博客

祝大家玩得开心

http://www.sadfv.cn/news/683/

相关文章: