我正在尝试学习awk,所以我在disk utility
命令上尝试。
这是我跑步时的输出 Disk Utility list disk0
/ dev / disk0(内部,物理): #:TYPE NAME SIZE IDENTIFIER 0:GUID_partition_scheme * 251.0 GB disk0 1:EFI EFI 209.7 MB disk0s1 2:Apple_HFS Macintosh HD 145.4 GB disk0s2 3:Apple_Boot Recovery HD 650.0 MB disk0s3 4:Linux Filesystem 48.0 GB disk0s4 5:Microsoft Basic Data WINDOWS 38.0 GB disk0s5 6:Linux交换18.8 GB disk0s6
现在,如果我跑,diskutil list disk0 | awk 'NR > 2 {print}'
我得到这个作为我的输出。
0:GUID_partition_scheme * 251.0 GB disk0 1:EFI EFI 209.7 MB disk0s1 2:Apple_HFS Macintosh HD 145.4 GB disk0s2 3:Apple_Boot Recovery HD 650.0 MB disk0s3 4:Linux Filesystem 48.0 GB disk0s4 5:Microsoft Basic Data WINDOWS 38.0 GB disk0s5 6:Linux交换18.8 GB disk0s6
如您所见,输出符合预期。现在的问题是当我尝试打印2美元,3美元和4美元时,输出有时打印“HD”时应该打印尺寸和其他问题。
diskutil list disk0 | awk 'NR > 2 {print $1}'
0: 1: 2: 3: 4: 5: 6:
预期结果
diskutil list disk0 | awk 'NR > 2 {print $2}'
GUID_partition_scheme EFI Apple_HFS Apple_Boot Linux的 微软 Linux的
预期结果
GUID_partition_scheme EFI Apple_HFS Apple_Boot Linux文件系统 Microsoft基本数据 Linux交换
正如您所看到的那样,命令输出正如预期的那样直到Linux Filesystem。这是因为这个词中有空格?
例如,这会影响其后的所有其他内容
diskutil list disk0 | awk 'NR > 2 {print $3}'
显示器
* 251.0 EFI 苹果 复苏 文件系统 基本 交换
什么时候应该显示
EFI Macintosh HD 恢复高清 视窗
如何按照我的预期让AWK格式化?