作者alloc (大碗滷肉飯男孩)
看板Linux
標題[問題] 看不太懂這行sed的語法(取代unix2dos功
時間Mon Nov 30 18:54:15 2020
各位前輩好,
因為我想將unix文件轉成dos模式(加入carrige return),但不能用unix2dos指令。
在網路上找到以下的sed方式:
sed 's/$'"/`echo \\\r`/" file > output
可以用,但我實在看不懂這段語法…有人可以幫忙解釋一下嗎?
還是說以我的需求還有更簡單好懂的取代方式?(sed/awk/tr?) 先謝謝了。
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.19.116 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1606733659.A.CA7.html
1F:推 bitlife: 檔案數量少or多? 為何無法用unix2dos? 能用cc嗎? 11/30 20:04
2F:推 cozycat: `echo \\\r` -> $(echo \\r) -> \r 11/30 20:18
3F:→ cozycat: sed 's/$/\r/' file > output 11/30 20:24
4F:推 holishing: 你是在什麼神奇環境... 12/01 01:25
5F:→ kenduest: 系統上有 vim 嗎, 有的話這個問題也很好處理 12/01 02:15
6F:→ alloc: 是在開發板環境,每次只有單個檔案,無unix2dos也無cc。有 12/01 10:26
7F:→ alloc: 這需求是要解決SMTP server回傳bare LFs的錯誤,需要寫在程 12/01 10:26
8F:→ alloc: 式裡自動化轉換。 12/01 10:26
9F:→ bitlife: 既然是開發板,就編一個陽春的unix2dos過去用不就好了? 12/01 10:48
10F:→ bitlife: 只需要幾行的c程式,效能(cpu,ram,速度)也比用sed等來得好 12/01 10:49
11F:→ bitlife: 我指的是自行撰寫幾行code,不是拿現成的unix2dos來編 12/01 10:50
12F:→ alloc: 當初就只想到利用現有的文字取代工具來做,因為信的內容不 12/01 11:19
13F:→ alloc: 長,效能應不會相差太多,謝謝你的回覆。@@ 12/01 11:19
14F:推 Gold740716: sed 's/$/\r/' 就好,那個 echo 多此一舉 12/01 20:01