View previous topic :: View next topic |
Author |
Message |
bartmarian Guru
Joined: 28 Nov 2005 Posts: 557
|
Posted: Thu Aug 07, 2008 8:04 am Post subject: [SOLVED]usunięcie części numeru iban w skrypcie - v.2 |
|
|
Witam,
potrzebuję odciąć z 14 pierwszych liczb np:
mam 56102010800009000100100123
powinno zostać 000100100123
idealnie gdyby to udało się zrobić w awk, które zamienia mi plik z danymi
oddzielonymi pipe na sql'owy (do sassania do bazy) _________________ Człowiek bez religii jest jak ryba bez roweru.
Albercik się pomylił, prędkość światła to prędkość, wszechświat nie ma punktu odniesienia.
Perpetuum mobile - np. jowisz + jego księżyc, siły pływowe. Proste i niepraktyczne.
Last edited by bartmarian on Tue Aug 12, 2008 6:57 pm; edited 3 times in total |
|
Back to top |
|
|
nieprosty n00b
Joined: 06 Sep 2006 Posts: 22 Location: Austria - Graz
|
Posted: Thu Aug 07, 2008 9:29 am Post subject: |
|
|
Tak na szybko to:
Code: |
echo 12345678901234567890 | awk '{print substr($1,14)}'
|
Pozdrawiam |
|
Back to top |
|
|
bartmarian Guru
Joined: 28 Nov 2005 Posts: 557
|
Posted: Thu Aug 07, 2008 8:39 pm Post subject: |
|
|
dziękuję, to działa, problem w tym że chciałbym to umieścić w skrypcie:
część pierwsza: Code: | cat plik | awk -F "|" -f awk-sql |
część druga (awk-sql): Code: |
{
id=$1;
data=$2;
cash=$3;
platnik=$4;
platnikid=$5; <--- tu mi jest potrzebny obcięty nr iban
opis=$6;
hash=$7;
closed=$8;
{
print "insert into cashimport values('"id"', '"data"', '"cash"', '"platnik"', '"opis"', '"platnikid"', '"hash"', '"closed"');" > "./bzwbk.sql";
}
}
| i nie wiem... _________________ Człowiek bez religii jest jak ryba bez roweru.
Albercik się pomylił, prędkość światła to prędkość, wszechświat nie ma punktu odniesienia.
Perpetuum mobile - np. jowisz + jego księżyc, siły pływowe. Proste i niepraktyczne. |
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Thu Aug 07, 2008 8:48 pm Post subject: |
|
|
no to daj platnikid=`echo $5 | awk ...` |
|
Back to top |
|
|
bartmarian Guru
Joined: 28 Nov 2005 Posts: 557
|
Posted: Thu Aug 07, 2008 8:58 pm Post subject: |
|
|
niestety (różnie już kombinowałem), to zwraca:
Code: | cat plik | awk -F "|" -f awk-sql
awk: awk-sql:6: platnikid=`echo $5 | awk '{print substr($1,14)}'`;
awk: awk-sql:6: ^ nieprawidłowy znak '`' w wyrażeniu
|
_________________ Człowiek bez religii jest jak ryba bez roweru.
Albercik się pomylił, prędkość światła to prędkość, wszechświat nie ma punktu odniesienia.
Perpetuum mobile - np. jowisz + jego księżyc, siły pływowe. Proste i niepraktyczne. |
|
Back to top |
|
|
13Homer Guru
Joined: 12 Jul 2005 Posts: 461
|
Posted: Sat Aug 09, 2008 5:38 pm Post subject: |
|
|
platnikid=substr($5,15); _________________ Lenovo ThinkPad R61 / C2D@2.6.24 / nVidia Quatro NVS 140M / 2 GB RAM |
|
Back to top |
|
|
bartmarian Guru
Joined: 28 Nov 2005 Posts: 557
|
Posted: Mon Aug 11, 2008 10:08 pm Post subject: |
|
|
bardzo ładnie dziękuję, pozostał mi jeszcze jeden problem, ale to szczegół,
drugie pole zawiera datę w porządku: "31072008", jak to zamienić na datę
systemową ?
--------edit----------
czy awk potrafi majstrować przy dacie ? chodzi mi o zamianę formatu
daty z przykładowej "20082016" (czyli 2016/08/20) na liczoną od 1970,
w tym przypadku "1471646937" ? ewentualnie nadzieja w mysql, może
sama baza umie dokonać zamiany przy wprowadzeniu danych ?
-------edit-----------
użyłem póki co "data=systime();" nie jest idealnie ale nie mam przynajmniej
40-sto letniej daty. _________________ Człowiek bez religii jest jak ryba bez roweru.
Albercik się pomylił, prędkość światła to prędkość, wszechświat nie ma punktu odniesienia.
Perpetuum mobile - np. jowisz + jego księżyc, siły pływowe. Proste i niepraktyczne. |
|
Back to top |
|
|
|