建立一个问题: 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
答案 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