df换行问题的设置

df是linux下用来查磁盘空间的命令,而在使用了LVM分区或网络挂载的情况下,再用df取分区的使用率时,发现有些分区显示换行了,这样会导致通过脚本取的数据不对。

复制代码
[root@ ]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             154G  6.1G  140G   5% /
/dev/sda2              29G  1.1G   26G   5% /opt
/dev/sda1             190M   12M  169M   7% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sdb1             2.5T  113G  2.3T   5% /mail
/dev/mapper/vg_01-LogVol00
                       68G  180M   64G   1% /App
218.85.xxx.xxx:/opt/apacche/conf
                       59G  218M   56G   1% /opt/apacche/conf
复制代码

 

而直接使用awk进行截取数据时,可能就出现下面的情况:

 

复制代码
[root@web45 data1]# df -h|awk '{print $1,$5}'
文件系统 已用%%
/dev/sda2 3%
tmpfs 0%
/dev/mapper/vg_01-LogVol00
68G /App
/dev/sda1 29%
/dev/mapper/vg_01-LogVol02
385G /data1
/dev/mapper/vg_01-LogVol03
401G /data2
/dev/mapper/vg_01-LogVol01
73G /logs
复制代码

 

解决该问题的方法也十分简单,在使用df命令时加上参数:-P就可以解决。
-P  --portability     use the POSIX output format

[root@ ]# df -hP|awk ‘{print $1,$5}’
Filesystem Use%
/dev/sda5 5%
/dev/sda2 5%
/dev/sda1 7%
tmpfs 0%
/dev/sdb1 5%
218.85.xxx.xxx:/opt/apacche/conf  1%

 

而如果想让输出的结果而美观一些,可以再通column命令配合进行输出:

 

复制代码
[root@web45 data1]# df -hlP|awk '{print $1,$5}'|column -t
文件系统                    已用%%
/dev/sda2                   3%
tmpfs                       0%
/dev/mapper/vg_01-LogVol00  1%
/dev/sda1                   29%
/dev/mapper/vg_01-LogVol02  32%
/dev/mapper/vg_01-LogVol03  1%
/dev/mapper/vg_01-LogVol01  1%
复制代码

 

posted @   davygeek  阅读(607)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2015-01-13 【转】2015年薪酬大涨的15个IT岗位
2015-01-13 【转】git命令
点击右上角即可分享
微信分享提示