如何使用sed搜索^ A并替换它

Asf*_*bar 3 sed

我想用(GNU)sed做一个简单的搜索和替换.问题是我正在寻找一个特殊角色,这可能是我失败的原因.

输入是:

^A9=139^A35=V^A34=9^A49=xxxx^A52=20140527-06:18:43.759^A5
Run Code Online (Sandbox Code Playgroud)

我想,以取代^A;.我用了:

sed -i '/s/^A/;/g' file.log
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何东西.

Avi*_*Raj 7

你的命令应该是,

sed -i 's/\^A/;/g' file
Run Code Online (Sandbox Code Playgroud)

你试过的命令,

sed -i '/s/^A/;/g' file.log
        |  |
        |  |______________You have to escape this special character. Because in general(regex) it means the starting point.
[No need to use `/` before s]
Run Code Online (Sandbox Code Playgroud)

例:

$ sed 's/\^A/;/g' file
;9=139;35=V;34=9;49=xxxx;52=20140527-06:18:43.759;5
Run Code Online (Sandbox Code Playgroud)