网站地图    收藏   

主页 > 系统 > linux系统 >

当sed遇到路径怎么办? - Linux操作系统:Ubuntu_C

来源:自学PHP网    时间:2015-04-14 10:28 作者: 阅读:

[导读] 我们知道一般的sed文本替换命令 26684;式如下:sed -e s origin new g input txt但当我们要替换的东西或替换后的东西不再像origin或new这样,而是一个路径时怎么办呢?答案是转义!!例如我有以...

我们知道一般的sed文本替换命令格式如下:

 sed -e "s/origin/new/g"  input.txt

但当我们要替换的东西或替换后的东西不再像origin或new这样,而是一个路径时怎么办呢?

答案是转义!!

例如我有以下input.txt的文本 

1. set path VARPATH running workspace.
2. runing this program  
我想把里面的VARPATH替换为/var/tmp/cloud,用shell脚本实现如下:

 !/bin/sh                                                                                                                         
###########################################################
# sedpath.sh
#  this script is used to deal with sed replace with path
###########################################################

VARPATH="/var/tmp/cloud"
VARPATHSED=$(echo ${VARPATH} |sed -e 's/\//\\\//g' )
echo "origin content:"
echo "-----------------"
cat input.txt
echo "-----------------"
echo "VARPATH=${VARPATH}"
echo "VARPATHSED=${VARPATHSED}"

cat input.txt |sed -e "s/VARPATH/${VARPATHSED}/g" > output.txt

echo "the result content:"
echo "-----------------"
cat output.txt
echo "-----------------"

运行结果如下:

 \

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论