一尘不染

sed返回“ sed:命令乱码”

linux

我在file.txt中有以下数据:

1234-abca-dgdsf-kds-2;abc dfsfds 2
123-abcdegfs-sdsd;dsfdsf dfd f
12523-cvjbsvndv-dvd-dvdv;dsfdsfpage

我想将字符串替换为“-”之后的字符串,最多替换为“;” 只需加上“;”,就可以得到:

1234;abc dfsfds 2 
123;dsfdsf dfd f 
12523;dsfdsfpage

我尝试使用以下命令:

sed -e "s/-.*;/;" file.txt

但这给了我以下错误:

sed命令出现乱码

为什么会这样呢?


阅读 592

收藏
2020-06-07

共1个答案

一尘不染

这应该工作:

sed 's/-.*;/;/g' file > newFile
2020-06-07