[問題] 看不太懂這行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