sed替换字符串(变量)

Posted jing1617

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed替换字符串(变量)相关的知识,希望对你有一定的参考价值。

sed “s/查找字段/替换字段/g”

echo helloworld|sed  ‘s/hello/world/g’

sed 替换字符串以变量形式 

 

1、sed命令使用双引号的情况下,可以使用$var(变量)直接引用:
  echo | sed "s/^/$RANDOM.rmvb_/g"
  13562.rmvb_
  2、sed命令使用单引号的情况下,可以使用‘"$var"‘引用(单引号,然后双引号,变量):
  echo | sed ‘s/^/‘"$RANDOM"‘.rmvb_/g‘
  2442.rmvb_
  sed中执行外部命令。
  1、sed命令使用单引号的情况下使用‘`shell command`‘或者‘$(shell command)‘引用命令执行的结果:
  echo | sed ‘s/^/‘`echo $RANDOM`‘.rmvb_/g‘
  7700.rmvb_# 结果
  # 上面的命令使用了旧式的命令替换,也可以采用新式的命令替换方法,如下:
  echo | sed ‘s/^/‘$(echo $RANDOM)‘.rmvb_/g‘
  13856.rmvb_# 结果
  # 下面例子取用当前日期作为结果的一部分,如下:
  echo | sed ‘s/^/‘$(date +"%Y%m%d")‘.rmvb_/g‘
  20130401.rmvb_ # 结果
  2、sed命令中使用双引号的情况下,直接`shell command`或者$(shell command)引用命令执行。
  echo | sed "s/^/$(date +"%Y%m%d").rmvb_/g"
  20130401.rmvb_# 结果
  # 使用环境变量$RANDOM以及旧式命令替换的例子:
  echo | sed "s/^/`echo $RANDOM`.rmvb_/g"
  29484.rmvb_# 结果
  总结一下
  在sed语句里面,变量替换或者执行shell命令,双引号比单引号少绕一些弯子;所以,sed和变量的关键词搜索的结果,众多都写上替换单引号为双引号

 

以上是关于sed替换字符串(变量)的主要内容,如果未能解决你的问题,请参考以下文章

转载:shell脚本之sed使用----替换变量转义字符

Sed 删除匹配行,匹配的字符用Shell变量替换,且变量里含有斜杠“/”时,无法删除

使用 Sed 将字符串变量替换为字符串变量 [重复]

如何用 sed 的变量替换单引号字符串? [复制]

Solaris里面的sed怎样把指定字符替换成换行

用 Bash 变量替换 sed