Отсутствует один символ в графическом изображении ANSI в Linux

Чтобы удалить, например, 4-ю строку снизу, используйтеsed:

tac input | sed '4d' | tac

Чтобы перезаписать входной файл:

tmpfile=$(mktemp)
tac input | sed '4d' | tac > "$tmpfile" && mv "$tmpfile" input
1
26.09.2020, 14:19
1 ответ

В пятой строке есть звездочка, 0x0F в CP -437; это осталось как -в UTF -8, как и должно быть, но в терминале это не -печатный символ (Ctrl -Q ), поэтому он исчезает в выводе. Это сдвигает остальную часть файла влево на один символ, производя все остальные упомянутые вами эффекты. Это не печатная графика; это управляющий код C0. Замените его на U+263C (☼ ), и все должно выглядеть лучше.

1
18.03.2021, 23:02

Теги

Похожие вопросы