为了获得刚刚添加到系统中的驱动器的名称,我正在检查cat /proc/partitions 在添加驱动器之前和之后创建的两个文件之间的差异。我正在寻找没有分区号数字后缀的驱动器名称。
cat /proc/partitions > /mnt/HD_a2/tempFiles/file1
... add some additional drives to the system
cat /proc/partitions > /mnt/HD_a2/tempFiles/file2
diff /mnt/HD_a2/tempFiles/file1 /mnt/HD_a2/tempFiles/file2
当我运行 diff 命令时,它返回:
16a17,18
> 8 32 7816704 sdc
> 8 33 7816688 sdc1
当添加 awk 以从以 '>' 为前缀的行上的第 5 列获取值时
diff /mnt/HD_a2/tempFiles/file1 /mnt/HD_a2/tempFiles/file2 | awk '">" { print $5 }'
回报是:
-- blank line is returned here--
sdc
sdc1
为了只返回“sdc”,添加了 grep 命令,
diff /mnt/HD_a2/tempFiles/file1 /mnt/HD_a2/tempFiles/file2 | awk '">" { print $5 }' | grep ^[A-Za-z]+$
但是当我运行命令行时,我根本没有得到任何输出。
如果 grep 命令被替换为
grep ^[A-Za-z]*$
return 不包括 sdc1,但仍然在 sdc 之前返回一个空行
我有人可以解释我的语法错误,或者提供更好的方法来获取最近添加的新驱动器的名称,我将不胜感激