Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-04-24 14:43:04

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

bash i wycinanie polskich znakow z read

Hej,

Mam taki skrypcik

Kod:

echo -n "Podaj imię i nazwisko :"
 read FULLNAME

echo "Podałeś ${FULLNAME}"

wszystko ładnie pieknie, ale co zrobić jak ktoś wprowadzi polskie litery w nazwisku bo są takie ? np. Anna Łęcka.

Może ktoś mi podpowiedzieć jak pozamieniać je na Anna Lecka ?


Będę bardzo zobowiązany


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#2  2009-04-24 14:53:35

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: bash i wycinanie polskich znakow z read

Kod:

echo "Zażółć gęślą jaźń" | tr '[żółćęśąźń]' '[zolcesazn]'

zauważyłem jednak, że o ile działa to bez problemu przy ISO-8859-2, o tyle przy UTF-8 robi rzeczy mało przewidywalne (np. taki wynik: Za]olc]s]z g]]]]l]] ja]]]])

__
Dopisek: zaiste powiadam wam, UTF-8 jest zryty:

Kod:

azhag@debian /tmp $ echo "Zażółć gęślą jaźń" | tr 'ź' 'z'
Zaz¼ózć gęzlą jazzz

:D

Ostatnio edytowany przez azhag (2009-04-24 15:00:56)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#3  2009-04-24 14:56:13

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: bash i wycinanie polskich znakow z read

ooo tak tr zapomniałem o tym.
A ja tylko mam  UTF-8.

a jakiś pomysł na UTF-8?


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#4  2009-04-24 14:59:42

  urug - Członek DUG

urug
Członek DUG
Skąd: Częstochowa
Zarejestrowany: 2008-04-22
Serwis

Re: bash i wycinanie polskich znakow z read

Może tak

Kod:

echo "żółty" | sed 'y/ęóąśćłżź/eoasclzz/'

W przeciwieństwie do tr działa przy UTF'ie. Też na początku chciałem podać rozwiązanie z tr i napotkałem na ten problem ;-P

Ostatnio edytowany przez urug (2009-04-24 15:00:15)


Pozdrawiam, Tomek

Offline

 

#5  2009-04-24 15:26:25

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: bash i wycinanie polskich znakow z read

ooo super dzięki za pomoc sed zadziałał idealnie.

Kiedy to forum dorobi się pola POMÓGŁ.


Dzięki dzięki dzięki


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#6  2009-04-24 16:57:28

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: bash i wycinanie polskich znakow z read

mozesz zastosowac tez

Kod:

konwert UTF8-ascii

w komplecie z konwert

tr faktycznie ma problemy z UTF8 ... w takich zadaniach mozna uzywac trs (jest w pakiecie z konwert) lub zaproponowanego sed'a


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#7  2009-04-24 17:27:30

  fnmirk - Redaktor

fnmirk
Redaktor
Zarejestrowany: 2008-02-19

Re: bash i wycinanie polskich znakow z read

redelek napisał(-a):

ale co zrobić jak ktoś wprowadzi polskie litery w nazwisku bo są takie ? np. Anna Łęcka.

Może ktoś mi podpowiedzieć jak pozamieniać je na Anna Lecka ?

Ale co zrobisz jak trafisz na nazwisko Lecki i Łęcki. Dodatkowym utrudnieniem będą takie same imiona?

Tak przy okazji czy ktoś się orientuje jak wygląda od strony prawnej takie zniekształcenie nazwiska? Bo ktoś może się nie zgodzić na to? I z tego co wiem, to ma do tego prawo.

Edit:

azhag napisał(-a):

zauważyłem jednak, że o ile działa to bez problemu przy ISO-8859-2, o tyle przy UTF-8 robi rzeczy mało przewidywalne

Po przeczytaniu poniższych artykułów zaczynam coraz mniej...
http://branch-prediction.jogger.pl/2009/03/27/ansi- … tf-8-unicode/
http://hunter.jogger.pl/2009/03/30/bush-hid-the-fac … ug-a-unicode/

Ostatnio edytowany przez fnmirk (2009-04-24 18:34:41)

Offline

 

#8  2009-04-24 18:34:25

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: bash i wycinanie polskich znakow z read

Jest doskonały moduł perl-a Text::Unidecode, ale przy samym potokowaniu to trochę przerost formy nad treścią.

Jeżeli to skrypt dodający użytkownika do bazy czy coś, wtedy przy napisaniu go od podstaw w perl-u wykorzystanie tego modułu miałoby sens.

Offline

 

#9  2009-04-24 18:42:50

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: bash i wycinanie polskich znakow z read

coraz mniej co? (chyba myśl mi umknęła)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#10  2009-04-24 19:20:56

  fnmirk - Redaktor

fnmirk
Redaktor
Zarejestrowany: 2008-02-19

Re: bash i wycinanie polskich znakow z read

azhag napisał(-a):

coraz mniej co? (chyba myśl mi umknęła)

Oczywiście coraz mniej rozumieć.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)