sed -i 's/\(\(\S\+\s\+\)\{2\}\)\S\+/\1123/' filename 怎么修改成 读取变量然后 进行 替换‘
时间: 2023-10-27 20:05:34 浏览: 125
可以使用双引号来包含 sed 命令,并在其中使用变量,然后将变量传递给 sed 命令。
例如,如果要将 sed 命令中的 'filename' 替换为 $filename 变量,可以使用以下命令:
```
filename="example.txt"
sed -i "s/\(\(\S\ \s\ \)\{2\}\)\S\ /\\1123/" "$filename"
```
在双引号中,$filename 变量会被扩展为实际文件名。
相关问题
sed -i s/ /g中s
sed是一种流编辑器,它可以对文本进行各种编辑操作。其中,-i选项表示直接修改文件内容,而s命令则表示替换操作。在s命令中,第一个斜杠之间的内容表示要被替换的字符串,第二个斜杠之间的内容表示替换成的字符串,而最后的g则表示全局替换。因此,sed -i s/ /g的含义是将文件中所有的空格都替换成空字符(即删除所有空格)。
sed -i s/..../g 特殊字符
sed -i s/..../g 是一个 sed 命令,用于替换文本中的特定字符。
其中的 "...." 是需要被替换的特殊字符的模式。在 Linux 中,特殊字符通常是由转义字符(\)紧跟着特定字符组成的。例如,如果要替换文本中的&字符,命令应该是 sed -i s/\&/g。
sed 是一个流编辑器,主要用于在文本中进行查找和替换操作。-i 选项表示直接修改输入文件,而不是将结果打印到终端。
s/..../g 是 sed 命令的替换指令,其中的 s 表示替换操作,/g 表示全局替换,即文本中所有匹配的地方都进行替换。
下面是一个例子来说明这个命令的用法:
假设有一个文本文件 file.txt,内容如下:
Hello World
This is a test.
The characters to be replaced are: ....
Another example.
执行命令:sed -i s/..../%/g file.txt
修改后的内容为:
Hello World
This is a test.
The characters to be replaced are: %%%%
Another example.
其中,"...." 被替换成了 "%%%%"。注意到 /g 选项确保了所有匹配到的 "...." 都被替换了。
这就是 sed -i s/..../g 特殊字符的含义和用法。