使用smartctl记录MSATA使用信息及导出文件内容为txt,批量将txt导入excel

2023-12-18 18:24:51

前言

使用smartctl记录MSATA使用信息及导出文件内容为txt,批量将txt导入excel操作方法


一、脚本内容

二、使用方法

1.首要按照注释中将存放日志的文件相应的权限

# 如果想要用普通用户就可以使用此脚本,建议进行以下权限的更改。
cd /
chmod 777 /home
chmod 777 /path/to/your/script.sh

2.在rc.local下最后一行添加脚本执行

#!/bin/bash


read -p "请输入要查询的机箱号" var1 
read -p "请输入要查询硬盘所在CPU号码" var2
A=32
B=1024
sudo smartctl -a /dev/sda >ssd.txt
echo "到"`date +"%Y-%m-%d %H:%M:%S"`"时硬盘使用情况如下:" >>  "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查硬盘容量
z=`cat ./ssd.txt |grep Model | awk '{printf $5 }'|grep -oP '\d+'`
echo " 硬盘容量为 $z GB  ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查通电时间
a=`cat ./ssd.txt | grep Power_On_Hours  | awk '{printf $10 }'`
echo " 硬盘共计通电 $a 小时 ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查通电次数
b=`cat ./ssd.txt | grep Power_Cycle_Count   | awk '{printf $10 }'`
echo " 硬盘共计通电 $b 次 ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查有效备用块数
c=`cat ./ssd.txt | grep 161   | awk '{printf $10 }'`
echo " 硬盘有效备用块数 $c 块">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查初始无效块数
d=`cat ./ssd.txt | grep 163   | awk '{printf $10 }'`
echo " 硬盘初始无效块数 $d 块 ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查A7i(平均擦除次数)的数据情况
h=`cat ./ssd.txt | grep 167   | awk '{printf $10 }'`
echo " 硬盘的平均擦除次 $h 次">>"机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查硬盘当前温度
e=`cat ./ssd.txt | grep Temperature_Celsius    | awk '{printf $10 }'`
echo " 硬盘当前温度 $e 度">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查读取数据情况
f=`cat ./ssd.txt | grep Total_LBAs_Read  | awk '{printf $10 }'`  
g=$(expr  $f / $A) 
echo " 硬盘共计读取$g GB ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查写入数据情况
i=`cat ./ssd.txt | grep Total_LBAs_Written | awk '{printf $10 }'`  
j=$(expr  $i \* $A / $B) 
echo " 硬盘共计写入$j GB ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
#用于检查擦写数据情况
k=$(expr $j / $z  ) 
echo " $z GB 硬盘共擦写$k 次 ">> "机箱"$var1"CPU"$var2"的硬盘使用情况".txt
cat  "机箱"$var1"CPU"$var2"的硬盘使用情况".txt

批量处理txt文件为excel

将txt从linux系统中导出,在计算机中建立文件夹,将所有txt放置于同一文件夹中,
在文件夹中建立excel表,接下来使用的单列转区域的操作必须使用kutools,请确保自己的excel已经正确安装kutools,点击数据–>点击获取数据–>自文件–>从文件夹中,选择存放txt的文件夹,
在这里插入图片描述
弹出界面下,点击转换数据,
在这里插入图片描述
在下图中选择txt格式的文件,
在这里插入图片描述
选择content选择原始格式为UTF-8,分隔符根据自己的需要选择。
在这里插入图片描述
再选择 确认后关闭并上载,
在这里插入图片描述
sheet1已经和文件夹中的txt产生数据连接,为便于编辑,可以在sheet2复制一个表格进行编辑。

使用kutools插件处理excel文件

下图为txt导入文件中内容
在这里插入图片描述
可见每一行都存在txt文件的标题,批量处理标题需要借助kutools,选择kutools下的选择,再选择重复/唯一单元格,选择后弹出如下弹窗,
在这里插入图片描述
可以自己设置选中单元格的背景色,及字体颜色,按确定后可以将重复值标记成特殊颜色,
而后按delete进行删除处理。
在这里插入图片描述
将这部分列转换成一行,使用kutools,点击转换区域,固定值可以根据自己需要修改,需要转换十一个行为一行十一列,点击确认后进行转换,
在这里插入图片描述
点击确定后显示需要从哪一个单元格开始输出,
在这里插入图片描述
转换成功如下图:
在这里插入图片描述
最终结果如下图:
在这里插入图片描述

总结

此脚本可以实现MSATA寿命统计及相关excel处理方式。

文章来源:https://blog.csdn.net/weixin_45145607/article/details/132753017
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。