[MEGOLDVA] nehany nappal ezelotti datum eloallitasa shellscriptben

Fórumok

Sziasztok.

Kerestem megoldast arra, hogy az utolso N nap szeriti datumot hogyan tudnam eloallitani (egy szovegfajl sorainak szuresere kell, de a sorok nem kotott felepitesuek, csak annyi tudunk, hogy a datum valahol benne van a kovetkezo formaban: MM/DD).

Nos, nem talaltam.

Olyan megoldas erdekel, ahol a [ mai datum minusz egyjegyu napszam ] szerinti sorokat a grep-pel le tudnam valogattatni.

Hogyan lehetne megoldani?

Hozzászólások

a date programmal tetszőleges formában egy fájlba legenerálod kb:
for n in 1..N
date +%m/%d $(( $(date +%s) - egy nap másodpercekben * n ))

aztán grep -f
de sok HA ilyen regexpre a grep nagyon lassúinkább perl, amíg tényleg egyjegyű addig jó a grep -f

ps: huhh, úgy emlékeztem az inptut formátumot is meg lehet adni de nem

pps: viszont van ilyen: date -d yesterday

ppps: hehe, meg ilyen is: date --date='1 days ago'

tomorrow:
date --date="tomorrow"
date --date="1 day"
yesterday:
date --date="yesterday"
date --date="1 day ago"
in X days:
date --date="X days"
X days ago:
date --date="X days ago"
date --date="-X days"
all also works with seconds, minutes, hours, weeks, months, years and maybe more...

--
falura elmegy, városban meg úgy sem nézik...

Itt az én megoldásom:

#!/bin/bash
mainap=`date +%d`
let korabbinap=mainap-$2
korabbidatum="`date +%m`/$korabbinap"
cat $1 | grep $korabbidatum
exit

Innentől "ezascript amibenkeresel ahanynappalezelottidatumot" parancs használatával megkapod amit kértél

Tudom nem vagyok programozó, s jobban is meg lehet csinálni...

ps: mondjuk nem tudom hogy ha elsején kérdezed mi lenne belőle
-----------
Mostly Harmless