WindowsからUNIXへの通常の変換では、sed s/\r//g
のように、ストリームから¥r文字を削除することができます。sedの/ r n/ r/gが期待通りに動作しないのはなぜですか?
しかし、私はマックエンコード(\ r)またはウィンドウエンコード(\ r \ n)できるファイルのエンドラインを変換しようとしています。だから私は\ rを削除することはできません、それがある場合は、Macのエンディングを削除します。私は最初に行末の文字を "正規化"しなければなりません。この正規化ステップは\ r \ nから\ rに変換します(その後、\ rから\ nへの変換を行います)。しかし、私はsed
でこのステップを解決することはできません。
$> echo -e "foo\r\nbar" | bbe -e 's/\r\n/\r/g' | xxd -c 24 -g 1
00000000: 66 6f 6f 0d 62 61 72 0a foo.bar.
は、SEDと同じことを行うすることが可能です:私はこのようなBBEとそれを解決することができました
$> echo -e "foo\r\nbar" | sed 's/\r\n/\r/g' | xxd -c 24 -g 1
00000000: 66 6f 6f 0d 0a 62 61 72 0a foo..bar.
:私はこのような何かを試してみましたか?