伙计,我怎么能打开这个文件:
ops01.mysite.com /dev/mapper/sys-home 7700480 602202 7098278 8% /home
ops01.mysite.com /dev/mapper/sys-tmp 512000 471 511529 1% /tmp
ops01.mysite.com /dev/mapper/sys-var 512000 3236 508764 1% /var
ops01.mysite.com /dev/mapper/sys-home 58G 26G 30G 47% /home
ops01.mysite.com /dev/mapper/sys-tmp 3.9G 2.3G 1.5G 61% /tmp
ops01.mysite.com /dev/mapper/sys-var 3.9G 533M 3.2G 15% /var
ops02.mysite.com /dev/mapper/sys-home 3424256 250425 3173831 8% /home
ops02.mysite.com /dev/mapper/sys-tmp 262144 17 262127 1% /tmp
ops02.mysite.com /dev/mapper/sys-var 262144 2647 259497 2% /var
ops02.mysite.com /dev/mapper/sys-home 52G 9.5G 40G 20% /home
ops02.mysite.com /dev/mapper/sys-tmp 4.0G 137M 3.7G 4% /tmp
ops02.mysite.com /dev/mapper/sys-var 4.0G 419M 3.4G 11% /var
进入这一个:
ops01.mysite.com /dev/mapper/sys-home 7700480 602202 7098278 8% /home ops01.mysite.com /dev/mapper/sys-home 58G 26G 30G 47% /home
ops01.mysite.com /dev/mapper/sys-tmp 512000 471 511529 1% /tmp ops01.mysite.com /dev/mapper/sys-tmp 3.9G 2.3G 1.5G 61% /tmp
ops01.mysite.com /dev/mapper/sys-var 512000 3236 508764 1% /var ops01.mysite.com /dev/mapper/sys-var 3.9G 533M 3.2G 15% /var
ops02.mysite.com /dev/mapper/sys-home 3424256 250425 3173831 8% /home ops02.mysite.com /dev/mapper/sys-home 52G 9.5G 40G 20% /home
ops02.mysite.com /dev/mapper/sys-tmp 262144 17 262127 1% /tmp ops02.mysite.com /dev/mapper/sys-tmp 4.0G 137M 3.7G 4% /tmp
ops02.mysite.com /dev/mapper/sys-var 262144 2647 259497 2% /var ops02.mysite.com /dev/mapper/sys-var 4.0G 419M 3.4G 11% /var
所以当导演是相同的时候,合并那些线 (在OSX中,df命令输出inode和空间使用情况,但在我正在使用的这个redhat中,我必须为空间使用运行一个df -h,并使用一个df -i来获取inode)
我用过:
cat file | sed 's/[0-9]% /*\n/ /'
尝试在下一行中的文本的每个'%'之后替换文本...但这根本不起作用...:S 我只是不能通过'ops01.mysite.com'过滤,因为我不知道有多少服务器需要检查。 提前谢谢
答案 0 :(得分:1)
分别运行2 df
个命令,将结果保存到单独的文件,然后join
这两个文件。
df > df-size
df -i > df-inodes
join df-size df-inodes
答案 1 :(得分:1)
awk '{a[$1$2]=a[$1$2]" "$0;next}END{for(i in a){print a[i]}}' your_file
检查here