GNU/Linux >> Znalost Linux >  >> Linux

Bash Převést \xc3\x89 na É?

Spouštím iwlist wlo1 scan | grep ESSID uvnitř skriptu.

Zobrazuje francouzské znaky v následujícím formátu

\xC3\x89 pro É a \xC3\xA9 pro é.

Nejsem si jistý, jak se tento formát nazývá. Zkusil jsem použít odpověď pro převod unicode echo -ne '\xC3\xA9' | iconv -f utf-16be ale převedl se na .

Jaký je oficiální název tohoto formátu a jak jej mohu převést do bash?

Přijatá odpověď:

Hexdecimální číselné konstanty jsou obvykle reprezentovány 0x prefix.
Znakové a řetězcové konstanty mohou vyjadřovat kódy znaků v šestnáctkové soustavě s předponou \x následované dvěma hexadecimálními číslicemi.

echo -ne '\xC3\x89' by vám měl dát É .

  • -e – povolit interpretaci zpětných lomítek (včetně \xHH – bajt s hexadecimální hodnotou HH (1 až 2 číslice))

Vypořádat se slepší přenositelností použijte printf funkce:

printf "%b" '\xC3\x89'
É

Linux
  1. Bash + Použití Printf za účelem tisku ve speciálním formátu?

  2. Jak porovnat dva řetězce ve formátu verze oddělené tečkami v Bash?

  3. Převeďte datum ISO na sekundy od epochy v linux bash

  1. Převést pro člověka čitelné bajty v bash

  2. Doba provozuschopnosti formátu Bash pro zobrazení dnů, hodin, minut

  3. Spusťte příkaz bash na jenkins pipeline

  1. Převeďte videa do formátu videa WhatsApp pomocí FFmpeg

  2. Převést výstup příkazu stromu do formátu Json?

  3. Převést formáty data v bash