【发布时间】:2015-11-28 00:21:47
【问题描述】:
我期待从 cmd 输出中获取字符串(ID 为 tmutil destinationinfo)。
我已经用https://regex101.com/r/aI3yH2/1 测试了这个正则表达式:
/^.*?Name.+?backup02\nKind.+?\nID?\s+:\s([A-Z0-9\-]+)/s
看起来它正在工作,我正在搜索 backup01、backup02、...
但是如何在 shell 脚本中将 ID 获取到变量中?
输出是这样的:
====================================================
Name : backup02
Kind : Local
Mount Point : /Volumes/ext_backup01_02
ID : BC51C9FA-DE8A-4BA3-B23E-AEC10E9E9F69
> ==================================================
Name : backup01
Kind : Network
URL : afp://username@server02.local/backup01
Mount Point : /Volumes/backup01
ID : 009B3736-61C5-4996-B9BC-A5230BED7961
====================================================
Name : backup03
Kind : Network
URL : afp://username@server67.local/backup03
Mount Point : /Volumes/backup01
ID : 1E9A3734-33D6-1316-C9B4-B143DA35D9F2
我真的不知道该如何处理。示例代码 100% 不起作用:
#!/bin/bash
ID=$(tmutil destinationinfo | sed -E '/^.*?Name.+?backup02\nKind.+?\nID?\s+:\s([A-Z0-9\-]+)/s')
echo $ID
谢谢!
【问题讨论】:
标签: regex linux bash shell unix