W
Wolfgang
Foren Gott
Hallo
Mein Einzeiler bezog sich auf:
$df --version
df (coreutils) 5.2.1
Wieder ein Beispiel, dass es immmer angebracht ist sein OS nebst Verwendete Versionen zu posten.
Die Option -P bei meinem df sorgt lediglich für POSIX kompatible Ausgabe. Also z.B. keine Zeilenumbrüche
Das geht allerdings auch ohne -P, wenn die Zeile nicht zu lang wird.
Der Perlcode ist recht simpel erklärt.
Die 1 vor dem $F5 ist übrigens nicht richtig, aber spielt keine Rolle. Habe diese nur beim Editieren (Löschen der 100-) übersehen.
Siehe Perldoc perlrun
Die Option -a sorgt für ein Aufsplitten der Zeile am IFS.
Die einzelnen Werte finden sich im Array @F
unless($.==1) überspringe Zeile 1( Kopfzeile)
$F[4]=~s/%//g % entfernen
print "$F[5] ist zu ",$F[4], "% belegt\n"if(($F[4]>50))} Printbefehl wenn das 5.Feld >50 ist.
Gruß Wolfgang
Zu deiner Frage:
Häng eben ein simples |grep "hdxy"| vor den Perlcode oder editiere die Bedingung am Ende. Wobei hdxy deine Partition bezeichnet.
...if(($F[4]>50))
in
...if(($F[4]>50)&&($F[5]=~m/hdxy/))
Mein Einzeiler bezog sich auf:
$df --version
df (coreutils) 5.2.1
Wieder ein Beispiel, dass es immmer angebracht ist sein OS nebst Verwendete Versionen zu posten.
Die Option -P bei meinem df sorgt lediglich für POSIX kompatible Ausgabe. Also z.B. keine Zeilenumbrüche
Code:
$df -P|perl -ane 'unless($.==1){$F[4]=~s/%//g;print "$F[5] ist zu ",$F[4], "% belegt\n"if(($F[4]>50))}'
[i]/mnt/grub ist zu 84% belegt
/mnt/hda12 ist zu 58% belegt
/home ist zu 61% belegt
/mnt/cdrom1 ist zu 100% belegt
[/i]
Der Perlcode ist recht simpel erklärt.
Die 1 vor dem $F5 ist übrigens nicht richtig, aber spielt keine Rolle. Habe diese nur beim Editieren (Löschen der 100-) übersehen.
Siehe Perldoc perlrun
Die Option -a sorgt für ein Aufsplitten der Zeile am IFS.
Die einzelnen Werte finden sich im Array @F
unless($.==1) überspringe Zeile 1( Kopfzeile)
$F[4]=~s/%//g % entfernen
print "$F[5] ist zu ",$F[4], "% belegt\n"if(($F[4]>50))} Printbefehl wenn das 5.Feld >50 ist.
Gruß Wolfgang
Zu deiner Frage:
Häng eben ein simples |grep "hdxy"| vor den Perlcode oder editiere die Bedingung am Ende. Wobei hdxy deine Partition bezeichnet.
...if(($F[4]>50))
in
...if(($F[4]>50)&&($F[5]=~m/hdxy/))
Zuletzt bearbeitet: