Jak se v sedu používá znakový rozsah v escape sekvenci

Nedaří se mi v sedu nastavit rozsah pro určité znaky. Zkouším něco takového např. [\uFB50-\uFFFF] Jde to vůbec nebo jaká je alternativa, když to chci zapsat, nejlépe takto v tomto kodovaní?
« Poslední změna: 08. 07. 2023, 17:02:26 od exkalibr »


RDa

  • *****
  • 2 710
    • Zobrazit profil
    • E-mail
Re:Jak se v sedu používá znakový rozsah v escape sekvenci
« Odpověď #1 kdy: 08. 07. 2023, 23:13:44 »
Zda nebude problem spis v tom, ze sed nevi v jakem kodovani mas vstup, ne? \uFB50 se totiz muze nachazet jak v UTF8 tak v UTF16 ... a pak - jsi si jisty ze to \u zpracovava az sed (tj mel bys to mit v ' ' -singlequotes), anebo to zpracovava shell a pak to prekoduje do...utf8 dle locale jako argument sedu? Je zde mnoho veci ktere muzou selhat, ci nehrat dokupy.. takze to musis zacit ladit poradne od piky

Re:Jak se v sedu používá znakový rozsah v escape sekvenci
« Odpověď #2 kdy: 09. 07. 2023, 06:37:52 »
Budu se opakovat, ale použij Python. Dlouhodobě si ušetříš fakt velkou hromadu práce a času.

mikrom

  • ****
  • 370
    • Zobrazit profil
    • E-mail
Re:Jak se v sedu používá znakový rozsah v escape sekvenci
« Odpověď #3 kdy: 09. 07. 2023, 17:06:27 »
Nedaří se mi v sedu nastavit rozsah pro určité znaky. Zkouším něco takového např. [\uFB50-\uFFFF] Jde to vůbec nebo jaká je alternativa, když to chci zapsat, nejlépe takto v tomto kodovaní?

v bashi mozes pouzit $'...' aby sa escape sekvencie interpretovali
Kód: [Vybrat]
$ echo -e '\u9991\u9992\u99a1'
馑馒馡
$ echo -e '\u9991\u9992\u99a1' | sed $'s/[\u9991-\u9999]/x/g'
xx馡