如何截取Bash命令输出的特定部分?提取GCS备份文件名
提取GCS备份文件名的几种方法
给你几个简单的Bash命令,都能实现只显示不带前缀的备份文件名:
用
sed替换前缀:gsutil ls gs://test-1234/ | sed 's/gs:\/\/test-1234\///'直接把输出里的
gs://test-1234/替换为空字符串,快速得到纯文件名。用
basename提取(通用度最高,适配任意路径层级):gsutil ls gs://test-1234/ | while read -r backup_path; do basename "$backup_path"; donebasename是专门用来提取文件路径中文件名的工具,循环处理每一行输出即可。用
awk按分隔符截取:gsutil ls gs://test-1234/ | awk -F '/' '{print $4}'以
/为分隔符拆分每行内容,取第4个字段就是目标文件名(适合当前备份直接存在桶根目录的场景)。
内容的提问来源于stack exchange,提问作者zumbiepig
相关产品推荐
相关产品推荐

