sed s 和 y 替换内容的区别
时间: 2023-04-05 18:04:06 浏览: 112
sed s 和 y 替换内容的区别在于,s 是替换第一个匹配到的字符串,而 y 则是替换所有匹配到的字符。具体来说,s 命令的语法为 s/old/new/,表示将第一个匹配到的 old 字符串替换为 new 字符串;而 y 命令的语法为 y/old/new/,表示将所有匹配到的 old 字符串替换为 new 字符串。
相关问题
使用perl语言,利用sed -i 将test.stasim文件中的ffmpeg -s字符替换为ffmpeg -y -s字符
可以使用下面的perl命令实现:
```
perl -pi -e 's/ffmpeg\s+-s/ffmpeg -y -s/g' test.stasim
```
其中,-pi选项表示直接修改文件,不需要输出到终端;-e选项表示执行后面的perl代码;s/ffmpeg\s+-s/ffmpeg -y -s/g是正则表达式替换的语法,将test.stasim文件中的所有匹配到的"ffmpeg -s"字符串替换为"ffmpeg -y -s"字符串。
sed -i 's/ENABLE_HHT_EDLNA=.*/ENABLE_HHT_EDLNA=y/g' $CUS_CFG_PATH
这是一条 Linux 命令,作用是将 `$CUS_CFG_PATH` 路径下的文件中,`ENABLE_HHT_EDLNA` 的值替换为 `y`。其中,`$CUS_CFG_PATH` 是一个环境变量,表示文件路径。命令中的 `sed` 是一个文本处理工具,`s` 表示替换操作。`/ENABLE_HHT_EDLNA=.*/` 是一个正则表达式,表示匹配以 `ENABLE_HHT_EDLNA=` 开头,后面任意字符的字符串,`y` 是替换后的新值。`-i` 参数表示直接在原文件中修改,而不是输出到终端。