看不太懂這行sed的語法(取代unix2dos功 - Linux
By Caitlin
at 2020-12-01T10:47
at 2020-12-01T10:47
Table of Contents
※ 引述《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
--
: 各位前輩好,
: 因為我想將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
--
Tags:
Linux
All Comments
By Regina
at 2020-12-06T02:50
at 2020-12-06T02:50
By Hazel
at 2020-12-10T18:52
at 2020-12-10T18:52
Related Posts
看不太懂這行sed的語法(取代unix2dos功
By Victoria
at 2020-11-30T18:54
at 2020-11-30T18:54
Ubuntu20.04的Chrome深色主題
By Wallis
at 2020-11-29T12:25
at 2020-11-29T12:25
在container內安裝工具
By Robert
at 2020-11-24T01:32
at 2020-11-24T01:32
sed 取代問題求教
By Callum
at 2020-11-23T12:29
at 2020-11-23T12:29
KVM 的 OpenGL
By Carol
at 2020-11-22T02:22
at 2020-11-22T02:22