Hogyan számolom ki adószámból a születési dátumot? Linux, shell script
Hali!
Egy kérdéssel fordulok hozzátok. Linuxon kellene egy programot írni, amely kiszámítja az adóazonosító jeledből a születési dátumodat és vissza. Az adat bekéréséig vagyok meg. Valaki tud nekem segíteni a megírásában? 1000 köszönet érte.
Milyen módon van az adószámba kódolva a születési dátum?
Használd a 'bc' programot a terminálban való számolgatásokhoz. A használati útmutatót a 'man bc' parancsal jelenítheted meg.
# Nagyjából így használható a 'bc' shell szkriptekben
# pipe segítségével:
valami=$(echo "3*2" | bc -l)
# és így íratható ki az eredmény
echo $valami
* az 1. számjegy konstans 8-as szám, mely az adóalany magánszemély voltára utal,
* a 2–6. számjegyek a személy születési időpontja és az 1867. január 1. között eltelt napok száma (vagyis 1900. január 1.-jétől a születési időpontig eltelt napok száma + 12 051),
* a 7–9. számjegyek az azonos napon születettek megkülönböztetésére szolgáló véletlenszerűen képzett sorszám,
* a 10. számjegy az 1–9. számjegyek felhasználásával matematikai módszerekkel képzett ellenőrző szám.
Igazából ezekből csak az első két szempont az érdekes, h hogyan tudom megoldani a számolást.
Köszönöm a segítséged!
$echo 7398491823 | sed 's/[0-9]\([0-9][0-9][0-9][0-9]\)[0-9]*/\1/'
3984
Az echo betolja a sed bemenetére a 7398491823 számot, a sed meg kiszedi belőle a 2-5 számjegyeket. A sedről itt tudsz olvasni (rém bonyolultnak látszó, de rém egyszerű és rendkívül hasznos program):
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!