Re: [问题] 看不太懂这行sed的语法(取代unix2dos功

楼主: aeolus0829 (阿洽)   2020-12-01 10:47:48
※ 引述《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?) 先谢谢了。
:
作者: alloc (韭菜)   2020-12-01 11:20:00
感谢,这以已经很清楚了。
作者: jamselee (jamselee)   2020-12-14 09:36:00
推热心

Links booklink

Contact Us: admin [ a t ] ucptt.com