如何隔离shell脚本的逻辑卷组UDID?

时间:2014-04-20 05:54:53

标签: shell awk grep applescript

我目前正在使用“diskutil cs list”来显示逻辑卷组。我需要能够隔离UDID。

“diskutil cs list”

中的示例行
+-- Logical Volume Group B848BCC7-6FFA-4643-AFE1-56FCA333A6B5

以前我的过程是:

diskutil cs list | grep 'Group'

我认为AWK将是一个更好的途径,只显示字母和数字串。我没有成功找到如何降低

最终,我将在shell脚本中使用UDID来重新格式化Fusion驱动器。使用类似于下面的东西。

set a to (do shell script "diskutil cs list|grep 'Group'")

我希望将它设置为UDID而不是整行。

3 个答案:

答案 0 :(得分:1)

尝试:

diskutil cs list | awk '/Group/{print $NF}'
  • /Group/将查找其中包含Group字词的行。它只是一种过滤机制。如果所有输出行中都包含Group,则可以删除/Group/部分。
  • 一旦找到这些线条,它将打印该线条的最后一个元素。默认情况下,awk会在空格上拆分该行。

答案 1 :(得分:0)

根据系统的新功能,您可能拥有lsblk(1)命令,该命令可与脚本结合使用。该实用程序可以限制列出的块设备,以及可以定义的格式显示哪些信息。

答案 2 :(得分:0)

diskutil cs list | grep -Po 'Group \K\S*$'