[问题] 看不太懂这行sed的语法(取代unix2dos功

楼主: alloc (韭菜)   2020-11-30 18:54:15
各位前辈好,
因为我想将unix文件转成dos模式(加入carrige return),但不能用unix2dos指令。
在网络上找到以下的sed方式:
sed 's/$'"/`echo \\\r`/" file > output
可以用,但我实在看不懂这段语法…有人可以帮忙解释一下吗?
还是说以我的需求还有更简单好懂的取代方式?(sed/awk/tr?) 先谢谢了。
作者: bitlife (BIT一生)   2020-11-30 20:04:00
档案数量少or多? 为何无法用unix2dos? 能用cc吗?
作者: cozycat   2020-11-30 20:18:00
`echo \\\r` -> $(echo \\r) -> \rsed 's/$/\r/' file > output
作者: holishing   2020-12-01 01:25:00
你是在什么神奇环境...
作者: kenduest (小州)   2020-12-01 02:15:00
系统上有 vim 吗, 有的话这个问题也很好处理
楼主: alloc (韭菜)   2020-12-01 10:26:00
是在开发板环境,每次只有单个档案,无unix2dos也无cc。有这需求是要解决SMTP server回传bare LFs的错误,需要写在程式里自动化转换。
作者: bitlife (BIT一生)   2020-12-01 10:48:00
既然是开发板,就编一个阳春的unix2dos过去用不就好了?只需要几行的c程式,效能(cpu,ram,速度)也比用sed等来得好我指的是自行撰写几行code,不是拿现成的unix2dos来编
楼主: alloc (韭菜)   2020-12-01 11:19:00
当初就只想到利用现有的文字取代工具来做,因为信的内容不长,效能应不会相差太多,谢谢你的回复。@@
作者: Gold740716 (项为之强)   2020-12-01 20:01:00
sed 's/$/\r/' 就好,那个 echo 多此一举

Links booklink

Contact Us: admin [ a t ] ucptt.com