logische operation mit grep

Servus,
ich habe ein Problem bei einer Abfrage.

Ich möchte mir anzeigen lassen, wie groß die aktiven Mailpostfächer sind.
Leider klappt die oderabfrage nicht.

ls /var/spool/mail -hla | (grep "K " || grep "M ";)

und wie kann ich folgendes ergebnis in eine variable speichern?
var=0;
ls -la | wc -l > $var;
echo "Anzahl: $var";

habt ihr ne idee?
 
Huhu.
Hab dir mal eben was geschrieben:
Code:
i=0;for x in $(ls -1); do; i=`expr $i + 1`; done; echo "$i Mails";

Kann es leider gerade selber nicht probieren, da ich gerade unter Windows arbeite - und leider kein Cygwin draufhab :-(.
 
grep unterstützt reguläre ausdrücke. schau dir hierfür mal die manpage an

zu deinem zweiten problem:
var=`ls -la | wc -l`
wichtig dabei ist, dass vor und nach dem = keine lehrzeichen stehen dürfen
 
hi danke der schnellen antworten!

die zuweisung mit var=`...`hat sofort geklappt!

die forschleife hat fasst funktioniert!
nach dem do muss nur kein ";"

allerdings zeigt folgendes Kommando NICHT die größe der Aktiven Mailboxen an!
i=0; for x in $(ls -l); do i=`expr $i + 1`; done; echo "Anzahl $i";

Ich habe temporär das Problem behoben, dass ich zwei mal die Abfrage aufrufen lasse:
ls /var/spool/mail -hla | grep "K ";
ls /var/spool/mail -hla | grep "M ";
 
Original von sfil
hi danke der schnellen antworten!

die zuweisung mit var=`...`hat sofort geklappt!

die forschleife hat fasst funktioniert!
nach dem do muss nur kein ";"

allerdings zeigt folgendes Kommando NICHT die größe der Aktiven Mailboxen an!
i=0; for x in $(ls -l); do i=`expr $i + 1`; done; echo "Anzahl $i";

Ich habe temporär das Problem behoben, dass ich zwei mal die Abfrage aufrufen lasse:
ls /var/spool/mail -hla | grep "K ";
ls /var/spool/mail -hla | grep "M ";

Das war ja auch nur jediglich ein Beispiel das du nur haettest anpassen muessen ...
 
@soox, super. sowas suchte ich! danke!

weiß jemand, wie man bei fehlgeschlagenen logins sehen kann, welcher user folgendes war: (von /var/log/secure || Ich habe ein Redhat Enterprice 2.6.9-023stab033.7-enterprise)
Code:
Jan  9 20:30:38 vs169192 sshd[13481]: Illegal user testing from 84.40.11.40
Jan  9 20:30:41 vs169192 sshd[13481]: Failed password for illegal user testing from 84.40.11.40 port 56056 ssh2
Jan  9 20:30:42 vs169192 xinetd[14101]: START: imap pid=13622 from=84.60.4.199

ich fände es zb gut wie folgendes:
Code:
Laufende Login-Versuche

alenka/password from ::ffff:211.22.8.3: 1 Time(s)
alex/password from ::ffff:211.22.8.3: 1 Time(s)
Quelle: http://www.heise.de/netze/artikel/print/77475
 
wuerde dort stehen welches passwort verwendet wurde waere das auch imho unfein *g
stellt euch ma vor ihr wollt euch wo per ssh anmelden vergesst bei einem buchstabe die grossschreibung und schon taucht das pw in logs auf oO
 
ne ich möchte ja nicht das passwort sehen, sonder der usernamen, mit dem es versucht wurde.
/var/log/auth.log << gibt es nicht.
 
Dann landet es wohl im Syslog. Ansonsten schau mal in die Syslog-Konfiguration, eventuell heißt das Logfile nur anders.
 
sfil, in dem von dir geposteten auszug steht doch das als user account "testing" versucht wurde. was willst du mehr? oO
 
Zurück
Oben