

Bash - ASCII kódování
Zdravím. Mám skript v bashi, který volá jeden program s různými parametry a výstup zapisuje spolu s dalším textem do výstupního .txt souboru. Požadavkem je, aby kódování souboru bylo ASCII. Pokud dám uložit prostý text, třeba
echo "text" >> out.txt
a poté zkontroluji kódování pomocí enca, je správně, tedy 7-bit ASCII. Pokud je ale ve výpisu expanze proměnné, výpíše se sice to, co má, ale kódování se změní na unrecognised. Jeden příkaz na ukázku, podobných je ve skriptu několik.
DEV_NO_HIST=$(./iss-proj step4.bmp -deviation)
echo "std_no_hist=$DEV_NO_HIST" >> reseni.txt
V proměnné DEV_NO_HIST je nějaké desetinné číslo ve tvaru xxx.yyyy. Lze nějak zachovat požadované kódování?
prožeň to echo přes pípu do iconv a z něj teprve do reseni.txt
Díky a jaké nastavit původní kódování? Protože iconv chce parametry z čeho do čeho. Zkusil jsem nastavit z utf-8 do ascii, ale žádná změna.
výchozí je v podstatě jedno, nastavil bych to, co je v daném OS nativní. Ale docela by mě zajímalo, který znak se mu nelíbí. Můžeš to zkontrolovat nějakým hexaeditorem?
Díky, fakt dobrý hint. V hexa zobrazení jsem zjistil, že správně kódovaný soubor má před znakem LF (0a) mezeru. A ten vygenerovaný skriptem ji neměl, tak jsem ji přidal a enca už hlásí 7-bit ASCII. Vyřešeno.
taky dobrý fór