如何逃避“在Windows上的sed?

时间:2012-08-21 15:03:22

标签: windows sed escaping

我想使用sed(Windows / cmd)替换,文件中的所有,"个字符。这就是我尝试过的:

>head -n3 SiteRank.csv
1,facebook.com
2,google.com
3,youtube.com

>head -n3 SiteRank.csv | sed s/,/,"/
1,facebook.com
2,google.com
3,youtube.com

>head -n3 SiteRank.csv | sed s/,/,\"/
sed: -e expression #1, char 7: unterminated `s' command

>head -n3 SiteRank.csv | sed s/,/,\\"/
sed: -e expression #1, char 7: unterminated `s' command

>head -n3 SiteRank.csv | sed s/,/,^"/
1,facebook.com
2,google.com
3,youtube.com

2 个答案:

答案 0 :(得分:1)

以下是我的X问题的解决方案(我实际上是公开了Y问题,请参阅ghoti的有用评论)

head -n3 SiteRank.csv | sed 's/,/,^"/' | sed 's/$/^"/'

答案 1 :(得分:0)

这可能适合你(GNU sed):

head -n3 SiteRank.csv | sed 's/,\|$/&"/g'

或者可能有多个,

head -n3 SiteRank.csv | sed 's/,\(.*\)/,"\1"/'