请教:关于利用AWK处理硬盘分区信息的初级应用
看了awk的介绍,感觉功能强大,用于实dos下处理硬盘分区信息,应该比单纯使用strings处理,能大幅度简化代码。
可是在使用中遇到些问题,望能得到高人指点。
比如以下的信息,如何剔除指定硬盘以外的分区信息?【如去掉第二硬盘】
还有就是如何保留带有盘符的分区信息?【如保留1.1:和1.3:】
试了以下方法通不过。
awk '$1 ~ /1./ {print $1}' hdinfo.ini
原因应该是当成了数字处理,而不是字符。给1.加上引号也不行。
awk '/:\/ {print $1}' hdinfo.ini
估计是:、\等有特定含义,也没当成字符处理。
是字符串的话是可以的。比如活动分区:
awk '{FS=":"}; /Active/ {print $1}' hdinfo.ini
不知有何办法处理。谢谢。
Disk: 1 (18.63GB) M: S:
1.1: ( 4.89GB) Active Volume FAT32
1.2: ( 5.86GB) Volume NTFS l:
1.3: ( 7.88GB) Volume FAT32 l:
Disk: 2 (974.25MB) M:
( 123KB) Unused Space
2.1: ( 974.13MB) Volume FAT16 l:
看了awk的介绍,感觉功能强大,用于实dos下处理硬盘分区信息,应该比单纯使用strings处理,能大幅度简化代码。
可是在使用中遇到些问题,望能得到高人指点。
比如以下的信息,如何剔除指定硬盘以外的分区信息?【如去掉第二硬盘】
还有就是如何保留带有盘符的分区信息?【如保留1.1:和1.3:】
试了以下方法通不过。
awk '$1 ~ /1./ {print $1}' hdinfo.ini
原因应该是当成了数字处理,而不是字符。给1.加上引号也不行。
awk '/:\/ {print $1}' hdinfo.ini
估计是:、\等有特定含义,也没当成字符处理。
是字符串的话是可以的。比如活动分区:
awk '{FS=":"}; /Active/ {print $1}' hdinfo.ini
不知有何办法处理。谢谢。
Disk: 1 (18.63GB) M: S:
1.1: ( 4.89GB) Active Volume FAT32
1.2: ( 5.86GB) Volume NTFS l:
1.3: ( 7.88GB) Volume FAT32 l:
Disk: 2 (974.25MB) M:
( 123KB) Unused Space
2.1: ( 974.13MB) Volume FAT16 l:
