date %b nicht lokalisiert

Bash, Shell, PHP, Python, Perl, CGI
mk
Posts: 18
Joined: 2005-09-27 10:44

date %b nicht lokalisiert

Post by mk » 2005-10-06 02:08

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?

superuser1
Posts: 291
Joined: 2003-11-26 18:43
Location: earth

Re: date %b nicht lokalisiert

Post by superuser1 » 2005-10-06 02:46

Hi...

ohne Gewähr:

Code: Select all

cat /var/log/auth.log | grep "`date +"%b %e" | sed 's/Okt/Oct/'`"
:roll:

mk
Posts: 18
Joined: 2005-09-27 10:44

Re: date %b nicht lokalisiert

Post by mk » 2005-10-06 14:15

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.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: date %b nicht lokalisiert

Post by Roger Wilco » 2005-10-06 16:03

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

superuser1
Posts: 291
Joined: 2003-11-26 18:43
Location: earth

Re: date %b nicht lokalisiert

Post by superuser1 » 2005-10-06 19:21

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:

mk
Posts: 18
Joined: 2005-09-27 10:44

Re: date %b nicht lokalisiert

Post by mk » 2005-10-06 20:11

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

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: date %b nicht lokalisiert

Post by Roger Wilco » 2005-10-06 20:13

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?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11603
Joined: 2003-02-27 01:00
Location: Hamburg

Re: date %b nicht lokalisiert

Post by Joe User » 2005-10-06 20:16

Code: Select all

LC_ALL=C grep "$(date +"%b %d")" /var/log/auth.log
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

mk
Posts: 18
Joined: 2005-09-27 10:44

Re: date %b nicht lokalisiert

Post by mk » 2005-10-06 21:14

@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 :)

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: date %b nicht lokalisiert

Post by Roger Wilco » 2005-10-06 21:20

mk wrote:wofür steht/was bewirkt das 'C' genau?
"C" ist die Standard-Locale, d. h. es findet keine Lokalisierung statt.