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で動作する可能性がありますが、unxutilshttp: //unxutils.sourceforge.net/にバンドルされているバージョンである3.02'cosに興味があります。
質問への更新-paxdiabloのヒントに感謝します..gnu32winについて、私は現在unxutilsの代わりにそれを使用しています。それはより最新です。スペースを指定できるようになりました。そして、ghostdogのヒント、そしてpaxdiablo、私は二重引用符について見ます。\ d(4.2を使用しているため)またはスペースでスペースを指定しても問題ありません。しかし、それでも新しい行を削除することはできません
C:\ crp> type ff | sed -e "s / \ r \ n / f / g"
ああ
b bb
c cc
C:\ crp> type ff | sed -e "s / \ d013 \ d010 / f / g"
ああ
b bb
c cc
C:\ crp> type ff | sed -e "s / \ x0D \ x0A / f / g"
ああ
b bb
c cc
注:この質問は2010年のものです。現在は2020年です。Gnuwin32は古くなっています(Gnuwin32 sedが最後に更新されたのは2010年で、Sed 4.2.1は2009年のものでした)。Unxutilsはさらに古くなっています。したがって、執筆時点でのGnuwin32は10年前のものであり、Unxutilsは2020年時点で20年前のものです。Cygwinは引き続き最新の状態に保たれており、執筆時点では2017年からのSedv4.4になっています。