W pliku tekstowym chcę usunąć ,
(przecinki), a także "
(cudzysłowy) (tylko jeśli podwójne cudzysłowy zawierają liczby oddzielone przecinkami).
56,72,"12,34,54",x,y,"foo,a,b,bar"
Oczekiwany wynik
56,72,123454,x,y,"foo,a,b,bar"
Uwaga: powyższą linię pokazuję tylko jako przykład. Mój plik tekstowy zawiera wiele wierszy, jak wyżej, a liczby oddzielone przecinkami w podwójnych cudzysłowach powinny się różnić. To jest,
56,72,"12,34,54",x,y,"foo,a,b,bar"
56,92,"12,34",x,y,"foo,a,b,bar"
56,72,"12,34,54,78,76,54,67",x,y,"foo,a,b,bar"
56,72,x,y,"foo,a,b,bar","12,34,54"
56,72,x,y,"foo,a,b,bar","12,34,54","45,57,84,92","bar,foo"
Oczekiwany wynik:
56,72,123454,x,y,"foo,a,b,bar"
56,92,1234,x,y,"foo,a,b,bar"
56,72,12345478765467,x,y,"foo,a,b,bar"
56,72,x,y,"foo,a,b,bar",123454
56,72,x,y,"foo,a,b,bar",123454,45578492,"bar,foo"
W n
podwójnych cudzysłowach jest wiele liczb oddzielonych przecinkami. A także pozostaw podwójne cudzysłowy, które zawierają znaki w niezmienionej postaci.
Uwielbiam sed
narzędzie do przetwarzania tekstu. Cieszę się, jeśli opublikujesz jakieś sed
rozwiązanie tego problemu.
foo
i bar
) są usuwane wraz z przecinkami. Ponadto niektóre cytaty znikają tam, gdzie pozostają inne. Nie wspominając, że przecinki między a
i b
pozostają również. Czy jest w tym jakiś wzór?
56,72,"12,34,54",x,y,"foo,a,b,bar"
do56,72,123454,x,y,"a,b"
,foo
abar
znaczy zniknąć. Czy to twoja pożądana wydajność?