Как написать символы, отличные от ASCII, используя эхо?
Как писать символы ASCII с использованием эха? Есть ли escape-последовательность, например \012 или что-то в этом роде?
Я хочу добавить символы ASCII в файл, используя:
echo ?? >> file
Ответ 1
Используйте
echo -e "\012"
Ответ 2
Если вы заботитесь о переносимости, вы отпустите echo и используйте printf (1):
printf '\012'
Ответ 3
На моем терминале
printf '\012' >>output.txt
работает как для восьмеричного представления символа ascii, так и для соответствующего шестнадцатеричного:
printf '\xA' >>output.txt
Команда
echo -en '\012' >>output.txt
однако не работает должным образом. Кажется, что только гексадецималы работают с echo -e. -n удаляет стандартную дополнительную строку новой строки из эха.
Ответ 4
Я взял не-ASCII для обозначения Unicode, по крайней мере, в моем случае, но printf "\x##" было недостаточно для моего 2-байтового решения, поэтому вместо этого я использовал этот немного другой синтаксис: