C:\crp\cnp>sed -V
GNU sed version 3.02
Copyright (C) 1998 Free Software Foundation, Inc.......
C:\crp\cnp>type f.f
a a a
a a a
Пытаюсь заменить "а" пробелами.
C:\crp\cnp>type f.f | sed -e s/a/\d032/g
d032 d032 d032
d032 d032 d032
почему это не работает?
Я не возражаю, нахожу ли я или заменяю пробелы или новые строки. Я просто хочу указать их. Кажется, он не работает, и я не знаю, почему.
(Замена пробелов или пробела на f не работает)
C:\crp\cnp>echo a a | sed s/\d32/f/
a a
Примечание. Кажется, это может работать в 4.2, но меня интересует 3.02, потому что это версия, связанная с unxutils http://unxutils.sourceforge.net/
Обновление вопроса - спасибо за подсказку paxdiablo .. о gnu32win, теперь я использую его вместо unxutils. Это более актуально. Теперь я могу указать пробелы. И наконечник ghostdog, и paxdiablo, я вижу про двойные кавычки. Я могу указывать пробелы с помощью \d (начиная с версии 4.2) или с пробелом. Но я все еще не могу удалить новые строки
C:\crp>тип f.f | sed -e "s/\r\n/f/g"
a aa
b bb
c cc
C:\crp>тип f.f | sed -e "s/\d013\d010/f/g"
a aa
b bb
c cc
C:\crp>тип f.f | sed -e "s/\x0D\x0A/f/g"
a aa
b bb
c cc
Примечание. Этот вопрос был из 2010 года. Сейчас на дворе 2020 год. Gnuwin32 устарел (последнее обновление Gnuwin32 sed было в 2010 году, а Sed 4.2.1 – 2009 года), Unxutils – еще больше устарел. Таким образом, Gnuwin32 на момент написания устарел на десять лет, а Unxutils устарел на два десятилетия по состоянию на 2020 год. Cygwin по-прежнему обновляется, и на момент написания используется Sed v 4.4, выпущенный в 2017 году.