sh: Monatserste innerhalb eines Intervalls ausgeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: sh: Monatserste innerhalb eines Intervalls ausgeben

Beitrag von ThorstenS » 11.03.2016 11:55:21

Meine Variante ohne date liegt bei 0.004s

Benutzeravatar
heisenberg
Beiträge: 3565
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

dateutils

Beitrag von heisenberg » 10.06.2016 02:37:21

Auch wenn es dem Threadinhalt nicht ganz entspricht: Es gibt da noch Debiandateutils, was einige nette Werkzeuge zum arbeiten mit Datumsinformationen hat.

--> http://www.fresse.org/dateutils/
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: sh: Monatserste innerhalb eines Intervalls ausgeben

Beitrag von habakug » 10.06.2016 06:31:00

Hallo!

Ich hätte es so versucht:

Code: Alles auswählen

# for i in {12..1}; do date -d "-$i month -$(($(date +%d)-1)) days"; done
Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: dateutils

Beitrag von Meillo » 10.06.2016 09:17:05

heisenberg hat geschrieben:Auch wenn es dem Threadinhalt nicht ganz entspricht: Es gibt da noch Debiandateutils, was einige nette Werkzeuge zum arbeiten mit Datumsinformationen hat.

--> http://www.fresse.org/dateutils/
Darauf warte ich ja schon lange! Hab mich immer schon gefragt, warum die ihren Weg nicht in Unix gefunden haben. Timestamps sind zwar gut rechenbar ... aber will man das immer von Hand machen?

(Ohne es bislang selbst getestet zu haben ... aber von der Idee ist klar was es tut.) Sowas wie datediff(1) ist ein Tool, das eine Orthogonalitaet bietet, die bislang in Unix fehlt. Super, dass sich das jetzt endlich aendert. :-)

EDIT: ... und alles im One-True-Date-Format.Genial! YMMD! :THX:
Use ed once in a while!

Benutzeravatar
heisenberg
Beiträge: 3565
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: dateutils

Beitrag von heisenberg » 10.06.2016 13:30:51

Meillo hat geschrieben:...die bislang in Unix fehlt...
Braucht halt immer so ein bisschen Zeit bis das dann auch bekannt wird, dass es sowas gibt :)

Dateutils sind in Debian seit September 2013.

viewtopic.php?f=1&t=144847
Jede Rohheit hat ihren Ursprung in einer Schwäche.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: sh: Monatserste innerhalb eines Intervalls ausgeben

Beitrag von wanne » 10.06.2016 14:58:12

Was kann das ding, was date nicht kann? (Außer einer möglicherweise etwas ansprechenderen Syntax.)
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: sh: Monatserste innerhalb eines Intervalls ausgeben

Beitrag von Meillo » 10.06.2016 22:54:24

wanne hat geschrieben:Was kann das ding, was date nicht kann? (Außer einer möglicherweise etwas ansprechenderen Syntax.)
Dann schau dir mal die Beispiele zu datediff(1) hier an: http://www.fresse.org/dateutils/ Das kann date(1) nicht. Mit date(1) muss man immer ueber Unix Timestamps gehen, wenn man rechnen will. Das geht schon auch, aber datediff(1) macht das Unhandliche handlich. :-)
Use ed once in a while!

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: sh: Monatserste innerhalb eines Intervalls ausgeben

Beitrag von ThorstenS » 11.06.2016 08:28:45

Mit date kann man scho einiges tun - wenn man den richtigen syntax kennt und nichts besseres kennt :wink:
Ich hab mal vor einer Weile mein Wissen darüber niedergeschrieben:
http://www.linuxforen.de/forums/showthr ... ate-Befehl

dateutils.ddiff werde ich ab jetzt auch benutzen - das gefällt mir sehr gut. :THX:

Antworten