Shell

如何從 shell 輸出中提取第一個備份 id 到變數?

  • March 19, 2022
[user@laptop ~]$ cf adbr list-backups database
Getting backups of database
Backup ID                                         Time of Backup
bbf4277f-889a-4a9a-9274-683ed6e1553c_1647592205   Fri Mar 18 08:30:05 UTC 2022
bbf4277f-889a-4a9a-9274-683ed6e1553c_1647563402   Fri Mar 18 00:30:02 UTC 2022
bbf4277f-889a-4a9a-9274-683ed6e1553c_1647534606   Thu Mar 17 16:30:06 UTC 2022
bbf4277f-889a-4a9a-9274-683ed6e1553c_1647505803   Thu Mar 17 08:30:03 UTC 2022
bbf4277f-889a-4a9a-9274-683ed6e1553c_1647477003   Thu Mar 17 00:30:03 UTC 2022

我想獲得一個名為BACKUP_IDset的變數bbf4277f-889a-4a9a-9274-683ed6e1553c_1647592205

這個怎麼做?

我設法讓以下內容到達正確的路線:

cf adbr list-backups database-pre-prod | sed -n '/Backup ID/{n;p}'

但我不確定如何將 id 從中取出到變數中。

謝謝!

您已經想出瞭如何獲得正確的線路。現在我們只需要獲取這一行的第一個欄位。

使用awk,將結果儲存在$BACKUP_ID

BACKUP_ID=$(cf adbr list-backups database-pre-prod | sed -n '/Backup ID/{n;p}' | awk '{ print $1 }')
BACKUP_ID=$(cf adbr list-backups database | awk 'NR==3{print $1}')

引用自:https://unix.stackexchange.com/questions/695952