Zeigt spezifische Prozentsätze an

Zeigt spezifische Prozentsätze an

Ich muss nur Datenträger anzeigen, die einen bestimmten Prozentsatz belegt haben, z. B. 50 % belegt, aber Datenträger mit 33 % belegt werden nicht angezeigt. Ich kenne jetzt den Befehl df -h, weiß aber nicht, wie ich den Prozentsatz angeben kann. Gibt es eine Möglichkeit, dies im Terminal zu tun, oder muss ich dafür ein Skript schreiben?

Antwort1

Sie können es verwenden grep, um die Ausgabe nahezu jedes Befehls zu vereinfachen.

Nun, wenn Sie wollennurZeigen Sie diejenigen mit 50 % oder sogar 5* %, also etwa 55 %, an. Sie können grep wie folgt verwenden:

df -h | grep "50%"

oder um alle 50 Prozent, also auch 51 oder 55, anzuzeigen, können Sie Folgendes ausführen:

df -h | grep "5.%"

Um etwas zu zeigengrößer als oder gleich wie50 %, führen Sie stattdessen Folgendes aus:

df -h | egrep "10.%|9.%|8.%|7.%|6.%|5.%"

Antwort2

Da Sie eineNumerischVergleich statt eines lexikalischen, würde ich vorschlagen, etwas wie perloder awkzB zu verwenden

df -h | awk 'NR==1 || substr($5,1,length($5)-1) > 33'

Wo

  • NR==1immer die Kopfzeile drucken
  • substr($5,1,length($5)-1)Entfernen Sie das Endzeichen %aus dem 5. Feld
  • Vergleichen Sie das Ergebnis numerisch mit dem Wert33

Um es flexibler zu machen, können Sie den gewünschten Grenzwert als Variable übergeben, z. B.

df -h | awk -v val=33 'NR==1 || substr($5,1,length($5)-1) > val'

verwandte Informationen