Page 1 of 1
date %b nicht lokalisiert
Posted: 2005-10-06 02:08
by mk
Hallo,
eine Frage zu
date auf der shell (bash/sh):
wenn ich eine Log Datei zB mit grep durchsuche und mir nur die Ergebnisse des laufenden Tages anzeigen lassen will, kommt mir die Lokalisierung des users in die Quere.
So ist bspw die locale für root
de_DE,
ein
Code: Select all
cat /var/log/auth.log | grep "`date +"%b %d"`"
liefert aber ein leeres Ergebnis, da
%b für root zB
Okt liefert, es in den Logs aber in der englischen Bezeichnung
Oct eingetragen ist.
Wie bekomme ich denn ein date ausgespuckt, das nicht lokalisiert ist?
Eine andere Option als
%b in der lokalisierten Version scheint es ja für
date leider nicht zu geben.
hmm?
Re: date %b nicht lokalisiert
Posted: 2005-10-06 02:46
by superuser1
Hi...
ohne Gewähr:
Code: Select all
cat /var/log/auth.log | grep "`date +"%b %e" | sed 's/Okt/Oct/'`"
:roll:
Re: date %b nicht lokalisiert
Posted: 2005-10-06 14:15
by mk
hmm ja, Danke.
Ich hatte nur eigentlich auf etwas universelleres gehofft, ohne dass ich dem Script per sed eine monatsspezifische Mustererkennung mit auf den Weg geben muss.
Re: date %b nicht lokalisiert
Posted: 2005-10-06 16:03
by Roger Wilco
Der "Useless use of cat" Award des Tages geht an mk. Und der "Best supporting poster for useless use of cat" geht an superuser1.
*SCNR*
Code: Select all
LC_TIME=POSIX grep "$(date +'%b %d')" /var/log/auth.log
Re: date %b nicht lokalisiert
Posted: 2005-10-06 19:21
by superuser1
Hi...
Roger Wilco wrote:Und der "Best supporting poster for useless use of cat" geht an superuser1.
so etwas nennt sich adaptiver Lösungsvorschlag, Roger. Over and out.
:roll:
Re: date %b nicht lokalisiert
Posted: 2005-10-06 20:11
by mk
ja ja, danke danke ... ich würde ja auch gerne einen Award vergeben,
den gibt's aber erst, wenn mich der Post hier weiterbringt. :P
Roger Wilco wrote:Code: Select all
LC_TIME=POSIX grep "$(date +'%b %d')" /var/log/auth.log
fehlt der Geschichte nicht irgendwie ein
EXPORT o.ä.?
So jedenfalls wird in's Leere ge-grep'd und -wie es scheint-
weiterhin "de_DE@euro" als locale benutzt.
superuser1 wrote:adaptiver Lösungsvorschlag
nette Bezeichnung
Re: date %b nicht lokalisiert
Posted: 2005-10-06 20:13
by Roger Wilco
mk wrote:fehlt der Geschichte nicht irgendwie ein EXPORT o.ä.?
Jein, wenn du es so in deiner Shell ausführst, sollte es funktionieren. Die Umgebungsvariable LC_TIME wird dann nur für diesen einen Befehl gesetzt.
mk wrote:So jedenfalls wird in's Leere ge-grep'd und -wie es scheint-
weiterhin "de_DE@euro" als locale benutzt.
Was gibt `LC_TIME=POSIX locale` aus, wenn du das in deiner Shell ausführst?
Re: date %b nicht lokalisiert
Posted: 2005-10-06 20:16
by Joe User
Code: Select all
LC_ALL=C grep "$(date +"%b %d")" /var/log/auth.log
Re: date %b nicht lokalisiert
Posted: 2005-10-06 21:14
by mk
@Roger Wilco
'LC_TIME=POSIX locale' gibt mir ein:
Code: Select all
LANG=de_DE@euro
LC_CTYPE="de_DE@euro"
LC_NUMERIC="de_DE@euro"
LC_TIME=POSIX
LC_COLLATE="de_DE@euro"
LC_MONETARY="de_DE@euro"
LC_MESSAGES="de_DE@euro"
LC_PAPER="de_DE@euro"
LC_NAME="de_DE@euro"
LC_ADDRESS="de_DE@euro"
LC_TELEPHONE="de_DE@euro"
LC_MEASUREMENT="de_DE@euro"
LC_IDENTIFICATION="de_DE@euro"
LC_ALL=
der Award geht aber an Joe :P
Danke, so funktioniert's.
Nur verständnishalber:
wofür steht/was bewirkt das 'C' genau?
Danke euch beiden :)
Re: date %b nicht lokalisiert
Posted: 2005-10-06 21:20
by Roger Wilco
mk wrote:wofür steht/was bewirkt das 'C' genau?
"C" ist die Standard-Locale, d. h. es findet keine Lokalisierung statt.