sed 替换字符串以变量形式

本文详细介绍了在sed命令中如何使用变量和执行外部命令。包括在双引号和单引号环境下,如何正确引用变量及执行shell命令,对比了不同引用方式的效果。

  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和变量的关键词搜索的结果,众多都写上替换单引号为双引号

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值