linux - 如何将 gcloud 计算实例列表输出格式化为 excel 格式
问题描述
尝试了各种方法,但最接近工作方法:
- 用一个替换多个空格
- 将 INTERNAL_IP 列中的逗号 (,) 替换为 Pipe(|)
- 删除第 4 个 cloumn (PREEMPTIBLE),因为它导致 INTERNAL_IP cloumn 中的 IP 在其下移动。
- 用逗号(,)替换空格以准备 csv 文件。
但没有奏效。在 PREEMPTIBLE cloumn 搞砸了。
gcloud compute instances list > file1
tr -s " " < file1 > file2 // to replace multiple spaces with single one
sed s/\,/\|/g file2 > file3 // to replace , with pipe
awk '{$4=""; print $0}' file3 // to remove 4th column
sed -e 's/\s\+/,/g' file3 > final.csv
命令输出gcloud compute instances list
:
任何帮助或建议表示赞赏。先感谢您。
编辑:附加示例输入和预期输出文件:
解决方案
根据附件示例输入和预期输出,我进行了以下更改:
多个内部 IP 的一些实例,它们用“,”分隔。我已使用sed 's/,/-/g'将"," 替换为 "-" ,以避免在生成 CSV 时与其他字段发生冲突。
在第 5 列和第 7 列中显示 4 美元和 6 美元,以便它们与列标题内部 IP 地址和状态对齐
cat command_output.txt | grep -v '名称' | sed 's/,/-/g' | awk ' BEGIN {print "NAME,ZONE,MACHINE_TYPE,PREMPTIBLE,INTERNAL_IP,EXTERNAL_IP,STATUS"} {print $1","$2","$3","""","$4","""","$5 }'
推荐阅读
- java - 无法在 windows 中获取 java 版本
- javascript - Highcharts:打开新组件角度时如何停止函数setTimeout?
- mongodb - MongoError:服务器不支持排序规则
- javascript - 将 HTML 集合输出为列表 JavaScript
- visual-studio - Visual Studio 2017 Winforms Designer 缓存在哪里?
- laravel - Laravel 返回错误后如何显示 Bootstrap 通知/toast (MDBootstrap)
- hibernate - 如何修复“:意外元素(”URI:“http://www.hibernate.org/xsd/orm/cfg”,本地“休眠配置”)
- ios - 在具有最大高度的动态高度的 UITableViewCell 中添加 UITextView
- angular - IONIC 4空项目android apk文件大小大
- python - 一起循环多个生成器