特定列出的分区的偏移量

时间:2015-05-05 21:36:42

标签: bash awk

建立一个问题: How to get the offset of a partition with a bash script?关于使用awk,bash和parted for a GPT partition

作为脚本语言的新手,我不确定是否以及如何构建现有请求。

我希望获取parted命令列出的特定分区。具体来说,我需要ntfs分区的起始扇区来在我的bash脚本中设置mount中的偏移量。

root@workstation:/mnt/ewf2# parted ewf1 unit B p
Model:  (file)
Disk /mnt/ewf2/ewf1: 256060514304B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start End Size File system  Name Flags
 1  1048576B    525336575B     524288000B   fat32  EFI system partition  boot
 2  525336576B  659554303B     134217728B          Microsoft reserved partition  msftres
 3  659554304B  256060162047B  255400607744B ntfs  Basic data partition    msftdata

3 个答案:

答案 0 :(得分:2)

awk是您完成此任务的朋友:

$ parted ewf1 unit B p |awk '$5=="ntfs"{print $2}'

当第5列等于ntfs时,打印第二列。

答案 1 :(得分:2)

grep与PCRE一起使用:

parted ewf1 unit B p | grep -Po "^\s+[^ ]+\s+\K[^ ]+(?=\s.*ntfs)"

<强>输出:

659554304B

答案 2 :(得分:1)

这将打印最后一行的第二个字段:

parted ewf1 unit B p | awk 'END { print $2  }'  # prints 659554304B

或者您可以搜索与ntfs

匹配的行
parted ewf1 unit B p | awk '/ntfs/ { print $2  }'  # prints 659554304B