# Linux sed 中的&
Date: 2022-12-03


 

一次使用sed 替换操作，替换后的字符串包含　**&，**替换文本如下

```
$ cat test.txt
key=hello &
```

替换命令

```
$ sed 's/^key=.*$/key=world & /' test.txt

```

结果

```
key=world key=hello &
```

**sed** 中 **`s`** 指令语法： ‘s/regexp/replacement/flags

**&** 符号是代表 regexp 匹配的全部。所以又将原有匹配内容打印了一遍， 可以通过增加 \\，将&按照普通字符处理

```
$ sed  's/^key=.*$/key=world \& /' test.txt
key=world &

```

也可以使用 **c** 命令， 他之后的所有字符都被认为文本处理

```
$ sed  '/^key=.*$/ckey=world & ' test.txt
key=world &

```

#### **参考及引用**

更加详细使用 https://www.gnu.org/software/sed/manual/sed.html#Programming-Commands

https://www.grymoire.com/Unix/Sed.html

https://likegeeks.com/sed-linux/

图片from [机滄泳](https://www.facebook.com/groups/474930279315210/user/100002359269302/?__cft__[0]=AZWB2sS2F5czFJ28QAcl3-2fAIrqp2Dzf5xnn1asMgl8wZTMbw-mHbFGQIxDWvfkhEIDO21ycdin5g8ubidop34OO32c14QLfUe8-l8pU5l02ate_GTKteIK9ze__oj4pz0GjfCKpOlYsJ-1r_Twe-ls9c60ufd71cac7a3obNNvA5hRzMO9DFMegYuVVt780e4&__tn__=-UC*F)

