Re: [問題] 看不太懂這行sed的語法(取代unix2dos功
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章