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
试图用空格替换“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>输入 ff | sed -e "s/\r\n/f/g"
啊啊啊
bb
抄送
C:\crp>输入 ff | sed -e "s/\d013\d010/f/g"
啊啊啊
bb
抄送
C:\crp>输入 ff | sed -e "s/\x0D\x0A/f/g"
啊啊啊
bb
抄送
注意:这个问题是从 2010 年开始的。现在是 2020 年。Gnuwin32 已经过时了(就像上次更新其 Gnuwin32 sed 是 2010 年,而 Sed 4.2.1 是从 2009 年开始的),Unxutils 更加过时了。因此,截至 2020 年,Gnuwin32 已经过时了十年,而 Unxutils 更像是 20 年过时了。Cygwin 仍然保持最新状态,并且截至撰写本文时,它是从 2017 年开始的 Sed v 4.4。