grep - jak zrobi

Potrzebujesz pomocy z C, C++, perl, python, itp.
tomekw
Posty: 32
Rejestracja: 11 grudnia 2010, 00:17

grep - jak zrobić, by wykrywał wszystkie niepoprawne linijki tekstu?

Post autor: tomekw »

Mam plik tekstowy, który wygląda następująco:

Kod: Zaznacz cały

A12345;6
B76543;2
A39547;2
A89234;5
B91354;8
AB19456;4
i tak wygląda poprawnie (tylko taka forma jest dopuszczalna), natomiast możliwe są błędy, np.:

Kod: Zaznacz cały

A12345;6?@#
A12345;6B76543;2A39547;2
 A12345;6 B76543;2 A39547;2
?A12345;6?B76543;2?A39547;2
#@A12345;6#@B76543;2#@A39547;2
Teraz problem polega w tym, bym znalazł te błędne wpisy, poleceniem, i udało się to, ale nie do końca:

Kod: Zaznacz cały

grep -v  [^AB]";"[0-9]$ plik.txt
Wyświetla linijki, które ewidentnie nie pasują, np.: A12345;5e, natomiast już nie chce wyświetlać ciągów jak powyżej, które też są błędne.
Jak zrobić, by wykrywał wszystkie niepoprawne linijki?
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Kod: Zaznacz cały

grep -v '^[AB]\{1,\}[0-9]\{1,\}\;[0-9]$'
tomekw
Posty: 32
Rejestracja: 11 grudnia 2010, 00:17

Post autor: tomekw »

Niestety nie, nawet spróbowałem:

Kod: Zaznacz cały

grep -v '^[AB]\{1,\}[0-9]\{[color=darkred]5[/color],\}\;[0-9]$'
ale nie pomogło.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

A do którego nie pasuje? Bo nie napisałeś nawet dla jakiego przypadku źle działa - dla wszystkich podanych przez Ciebie w pierwszym poście było ok.
tomekw
Posty: 32
Rejestracja: 11 grudnia 2010, 00:17

Post autor: tomekw »

Sprawa już nieaktualna.
Przepraszam.
Skoro nie udało się rozwiązać problemu, można usunąć wątek.
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

tomekw pisze:Sprawa już nieaktualna.
Przepraszam.
Skoro nie udało się rozwiązać problemu, można usunąć wątek.
I za jakiś miesiąc zadasz podobne pytanie, jak nie na tym, to innym forum.

Przynajmniej odpowiedziałbyś na pytanie, co nie działało w Twoim przypadku. Odpowiadający w temacie kolega poświęcił czas, aby zainteresować się Twoim problemem. Sądzisz, że forum społeczności otwartego oprogramowania to taka doraźna pomoc techniczna, dostępna na każde zawołanie. Na ogólną wiedzę składają się wypowiedzi wszystkich użytkowników Debiana. Twoja wypowiedź też może ułatwić komuś innemu życie. Dlatego udziel odpowiedzi.
ODPOWIEDZ