Problem ze skryptem który wybierze pewne daneze strumienia i zapisze je do pliku.
: 25 września 2015, 10:07
Witam. Mam pewnie dosyć prosty problem i częściowo go już rozwiązałem ale stanąłem w miejscu i nie wiem jak dalej go rozwiązać.
Potrzebuję zapisywać do pliku tekstowego odczytane numery kart zbliżeniowych.
Zainstalowałem
Uruchamiam
i kiedy kładę kartę na czytniku na ekranie wyświetlają mi się potrzebne informacje a nawet niestety zbyt dużo tzn np coś takiego.
Uruchamiając polecenie oczywiście te wszystkie informacje lądują do pliku niestety te niepotrzebne też.
Spróbowałem więc
Niestety dla jednej karty otrzymuję informacje niezbędne dwa razy czyli coś takiego (jak widać z powyższego przykładu samego polecenia pcsc_scan tam ta informacja pojawia się dwa razy i stąd greep wyświetla ja dwa razy raz z wcięciem)
Potrzebuję tylko raz linijkę która zaczyna się od "ATR:" oraz linijkę z datą i godziną
próbowałem połaczyć te dwa plecenia
lub
ale za każdym razem plik notka.txt jest pusty.
Potrzebuję zapisywać do pliku tekstowego odczytane numery kart zbliżeniowych.
Zainstalowałem
Kod: Zaznacz cały
apt-get libpcsclite1 pcscd pcsc-tools
Kod: Zaznacz cały
pcsc_scan
i kiedy kładę kartę na czytniku na ekranie wyświetlają mi się potrzebne informacje a nawet niestety zbyt dużo tzn np coś takiego.
Kod: Zaznacz cały
Fri Sep 25 10:01:25 2015
Reader 1: SCM Microsystems Inc. SCR 331-DI [Vendor Interface] (60400165) 00 01
Card state: Card inserted,
ATR: 3B F5 91 00 FF 91 81 XX XX XX XX XX XX XX XX XX XX
ATR: 3B F5 91 00 FF 91 81 XX XX XX XX XX XX XX XX XX XX
+ TS = 3B --> Direct Convention
+ T0 = F5, Y(1): 1111, K: 5 (historical bytes)
TA(1) = 91 --> Fi=512, Di=1, 512 cycles/ETU
7812 bits/s at 4 MHz, fMax for Fi = 5 MHz => 9765 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = FF --> Extra guard time: 255 (special value)
TD(1) = 91 --> Y(i+1) = 1001, Protocol T = 1
-----
TA(2) = 81 --> Protocol to be used in spec mode: T=1 - Unable to change - defined by interface bytes
TD(2) = 71 --> Y(i+1) = 0111, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TB(3) = 40 --> Block Waiting Integer: 4 - Character Waiting Integer: 0
TC(3) = 00 --> Error detection code: LRC
+ Historical bytes: 41 08 00 00 00
Category indicator byte: 41 (proprietary format)
+ TCK = 0D (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F5 91 00 FF 91 81 XX XX XX XX XX XX XX XX XX XX
Contactless Mifare
Uruchamiając polecenie
Kod: Zaznacz cały
pcsc_scan > numerykart
Spróbowałem więc
Kod: Zaznacz cały
pcsc_scan |grep ATR:
Kod: Zaznacz cały
ATR: 3B F5 91 00 FF 91 81 XX XX XX XX XX XX XX XX XX XX
ATR: 3B F5 91 00 FF 91 81 XX XX XX XX XX XX XX XX XX XX
Potrzebuję tylko raz linijkę która zaczyna się od "ATR:" oraz linijkę z datą i godziną
próbowałem połaczyć te dwa plecenia
Kod: Zaznacz cały
pcsc_scan |grep ATR: | >notka.txt
Kod: Zaznacz cały
pcsc_scan |grep ATR: >notka.txt