服务器上有多个 yml 数据文件,想转换为 HTML 表格文件。原数据不是很复杂,有两列数据,具体如下:
yml 文件内容
date:
1.0.1: http://example.com/1.0.1.tgz
1.0.2: http://example.com/1.0.2.tgz
1.0.3: http://example.com/1.0.3.tgz
1.0.4: http://example.com/1.0.4.tgz
1.0.5: http://example.com/1.0.5.tgz
1.0.6: http://example.com/1.0.6.tgz
1.0.7: http://example.com/1.0.7.tgz
1.0.8: http://example.com/1.0.8.tgz
1.0.9: http://example.com/1.0.9.tgz
1.0.10: http://example.com/1.0.10.tgz
需要转换表格格式,有几个地方需要操作:1. 忽略第一行 date:字符串,2. 剩下的版本号和下载链接分两列,3. 网址添加超链接标签。
小白没有 shell 基础,网上搜索看了几页结果看得云里雾里,所以请教下各位大佬,任何帮助提前致谢!
awk
可以麻烦写个示例用法吗?为这个问题折腾了一下午。。。
Python 省事
1. 为什么要只用 shell
2. 就算找到可用方法大部分都是只是用 shell 跑别人写好的各种 cli
3. 装个可以解 yaml 的语言 nodejs 或 python 甚至 php 自己写个自己操作不好?
python+1 现在发行版都自带 python 环境的,直接用 python 吧
用 Python,从第二行开始读,split,把链接读到一个 list 里面,然后构造你要的格式。
有可以处理这种需求的脚本推荐吗?
可以。。太简单了。 关键词:bash read file,awk,echo, >
你这个问的太伸手党了,没有人会写给你的。
可以付费解决吗?如果可以,麻烦报个价格,也不想做伸手党。。
这个问题不难,你先用 Google 或者必应,搜索一下我说的关键词,去先学习一下 shell 相关的东西吧。
估计一天就学的不错了,然后最多 30 分钟不到写完。
算了 我来写一个吧
https://gist.github.com/aheadlead/72bb3f0f2c2711d6cd58d5ef06477ba8
awk -F ': ' '$2 ~ /tgz$/ {print "
\n"$1" | \nfile | \n
"}' filename
解析结构化的数据,建议用能正确解析这种格式的库,不建议用取巧的办法。在这个例子里要解析 YAML,那么就找个能解析 YAML 的库。比如用 Python 装上 pyyaml https://pyyaml.org/ ,或者用 Ruby 标准库里的 yaml https://ruby-doc.org/stdlib-2.6.4/libdoc/yaml/rdoc/index.html
至于说输出 HTML 的步骤,用模板语言或者自己拼字符串,都随意了。
yq
这样的数据让我选的话我还是选择用 Python 写。
下面好多人给了