如何使用shell命令从CSV文件列数据中提取project ID并输出目标格式
解决方案
你可以直接用awk命令完成提取,假设你的原文件名为input.csv,执行以下命令即可得到符合要求的结果:
awk '{split($2, path_arr, "/"); print $1, path_arr[3], $3}' input.csv > output.csv
命令说明
- awk默认按空白符拆分每行字段,
$1、$2、$3分别对应原文件的第一、二、三列 split($2, path_arr, "/")会把第二列的资源路径按/切割存入数组path_arr,按照路径结构compute.googleapis.com/projects/[项目ID]/zones/xxx,切割后的数组第三个元素就是项目ID- 最后按要求输出三列内容,重定向保存为
output.csv即可
如果需要直接修改原文件,可使用GNU awk的原地修改参数:
awk -i inplace '{split($2, path_arr, "/"); print $1, path_arr[3], $3}' input.csv
内容的提问来源于stack exchange,提问作者ajit singh
相关产品推荐
相关产品推荐

