用sed 命令把// 全部变成#
时间: 2023-08-13 08:02:27 浏览: 61
可以使用 sed 命令将文本文件中的所有 `//` 替换为 `#`,命令如下:
```
sed -i 's#//#\#g' filename
```
其中,`-i` 表示直接修改文件内容,`s` 表示替换操作,`#` 是分隔符,第一个 `//` 是要被替换的字符串,`\#` 表示要替换成的字符串,`g` 表示全局匹配,`filename` 是要操作的文件名。
需要注意的是,由于 `//` 是正则表达式中的特殊字符,因此在替换操作中需要用 `\` 进行转义,而 `\` 本身也是转义字符,因此需要再加一个 `\` 进行转义。所以,最终的替换字符串为 `\#`。
相关问题
sed "s/\s\+/\n/g
这是一个 sed 命令,用于将字符串中的空格替换为换行符。具体来说,它的含义是:
- s/:表示进行替换操作。
- \s\ :表示匹配一个空格。
- /:分隔符,用于分隔正则表达式和替换字符串。
- \n:表示换行符。
- g:表示进行全局匹配,即将字符串中所有的空格都替换为换行符。
举个例子,如果有一个字符串 "hello world",经过这个 sed 命令处理之后,就会变成:
```
hello
world
```
sed -i '/GLOBAL/d'
sed -i '/GLOBAL/d'是一个sed命令,用于删除文件中包含字符串"GLOBAL"的所有行。其中,参数-i表示直接修改原文件,不产生备份文件;/GLOBAL/表示匹配包含字符串"GLOBAL"的行;d表示删除匹配到的行。如果一个文件中有多个包含"GLOBAL"的行,这些行都将被删除。
例如,假设我们有一个名为test.txt的文件,内容如下:
```
GLOBAL_VAR=10
local_var1=20
local_var2=30
GLOBAL_VAR2=40
```
执行命令sed -i '/GLOBAL/d' test.txt后,test.txt的内容会变成:
```
local_var1=20
local_var2=30
```