作者:
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
作者:
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當初就只想到利用現有的文字取代工具來做,因為信的內容不長,效能應不會相差太多,謝謝你的回覆。@@
sed 's/$/\r/' 就好,那個 echo 多此一舉