Почему вы просто не используете сам символ пробела, а не какую-то забавную кодировку? Как в:
sed -e 's/a/ /g'
Что бы это ни стоило, команда, которую вы дали, также не работает в 4.2.1, но, если вы добавите в кавычки, она работает . Поэтому я предлагаю вам изменить его на:
sed -e 's/a/\d032/g'
Извините, я только что заметил, что вы используете Windows, поэтому у вас, вероятно, есть CygWin или GnuWin32 (или эквивалентный).
В Windows кавычки работают иначе, поэтому вам следует попробовать две вещи. Первый - использовать "
вместо '
кавычек:
sed -e "s/a/ /g"
В противном случае экранирующий символ в Windows - ^
, поэтому что-то вроде этого должно быть в состоянии экранировать пробел:
sed -e s/a/^ /g
Кроме того, я бы хотел перейти на GnuWin32, если это возможно, с более свежими версиями sed
(например). Не похоже, что UnxUtils имеет обновление с 2003 года на основе той веб-страницы, на которую вы ссылаетесь. Вы можете получить отдельные пакеты от здесь . Вы ищете coreutils
, который содержит основную часть инструментария обработки текста UNIX.
Но, если вы застряли с UnxUtils, я бы просто использовал фактический пробел, а не десятичный код, а затем я бы использовал tr
, чтобы избавиться от новых строк:
tr -d "\n"
при условии, конечно, что tr
в textutils
может обрабатывать этот синтаксис: -)