Heim  >  Artikel  >  Datenbank  >  sed使用变量进行匹配替换的问题_MySQL

sed使用变量进行匹配替换的问题_MySQL

WBOY
WBOYOriginal
2016-05-31 08:48:13813Durchsuche

环境:MacOS X 10.8.2

在MacOS下使用sed进行字符串替换,并保存到原文件中:

sed -i '' 's/源字符/目标字符/g' 文件

其中 -i 后面的单引号是设置备份文件。设置为空表示不需要备份。


* 在MacOS 10.8.2环境中,必须设置这个参数,否则不会保存到原文件中。其它版本和系统我没有环境测试,详细不知。


以下命令

sed -i '.bak' 's/源字符/目标字符/g' foobar.txt


在对文件内容进行替换并保存后,会产生一个foobar.txt.bak的备份文件。
有时候源字符和目标字符并非固定字符串,需要使用变量指定字符串内容。
sed使用变量参数有点特殊:‘ “$var ” ’ 外单引号内双引号,变量参数。当然,没有空格,这里只是为了演示才加空格。
完整的命令类似于:sed -i '' 's/'"$pattern"'/'"$target"'/g'$src_file


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn