iT邦幫忙

0

Linux 如何搜尋出超過使用者容量的帳號

使用repquota -a會顯示出以下字串,需要grep找出used>soft*08的使用者該如何下指令?
還是只能用程式來達到?
若是用程式,if裡面該如何寫呢,小弟是初學者,謝謝大家

#!/usr/bin/perl

@data = `repquota -a`;

foreach $line (@data){

#print $line;
        if($line = used>soft>*08){
        
        
        }

Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------
root      -- 216295944       0       0          21879     0     0
VQ_IQ     -- 15604648 15728640 15728640           4541     0     0
holystone -- 12297376 12582912 15728640            944     0     0
vq        -- 29680932       0 31457280           1058     0     0
Casio_QV  --  163372 12582912 15728640             50     0     0
dynavision --  203276 12582912 15728640             60     0     0
tekspring --  560984 12582912 15728640             11     0     0
morpho01  -- 5507940 12582912 15728640            816     0     0
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
James
iT邦大師 6 級 ‧ 2017-05-05 11:52:30
最佳解答

repquota -a | awk '{if($3 > $4*0.8) {print $0}}'

James iT邦大師 6 級 ‧ 2017-05-05 14:21:35 檢舉

quota沒有限制的好像要排除

repquota -a | tail --lines=+4 | awk '{if($3 > $4*0.8 && $4!=0) {print $0}}'

我要發表回答

立即登入回答