Re: [問題] 看不太懂這行sed的語法(取代unix2dos功

看板Linux作者 (阿洽)時間4年前 (2020/12/01 10:47), 編輯推噓1(101)
留言2則, 2人參與, 4年前最新討論串2/2 (看更多)
※ 引述《alloc (大碗滷肉飯男孩)》之銘言: : 各位前輩好, : 因為我想將unix文件轉成dos模式(加入carrige return),但不能用unix2dos指令。 : 在網路上找到以下的sed方式: : sed 's/$'"/`echo \\\r`/" file > output '' 單引號,用來包語法的 s 取代以下 條件 / 分隔語法用 條件 $ 是正規表示法,用來表示每一行的結尾 "" 雙引號,用來包語法的,和單引號的差別是某些變數在這裡會被再還原為常數 $1 = a 大概是這樣 "$1"= "a" `` shell 裡執行外部指令用的 (應該說非shell 內建指令) echo 不解釋,\\\r 是用來送 換行符號 (carrige return) 要用那麼多斜線是為了 跳脫正規表示法,\ 是跳脫就是告訴指令接下來的字元不要當成特殊符號 所以 sed 那一行的意思是 找 $ 符號,取代成 \r 可能解釋的不是很好.. 我盡力了 ="= : 可以用,但我實在看不懂這段語法…有人可以幫忙解釋一下嗎? : 還是說以我的需求還有更簡單好懂的取代方式?(sed/awk/tr?) 先謝謝了。 : ----- : Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.13.217 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1606790870.A.E52.html

12/01 11:20, 4年前 , 1F
感謝,這以已經很清楚了。
12/01 11:20, 1F

12/14 09:36, 4年前 , 2F
推熱心
12/14 09:36, 2F
文章代碼(AID): #1VnQxMvI (Linux)
文章代碼(AID): #1VnQxMvI (Linux)