在Unix Shell脚本中查找,替换和保存正则表达式

时间:2015-04-22 08:41:49

标签: bash shell unix

我有一个要求,我必须做以下事情:

<string name="XYZ">Find And Replace This</string>

我应该可以将其更改为

<string name="XYZ">main.findAndReplaceThis</string>

而且我还必须将替换值(Find And Replace This)写在一个单独的文件中。

我正在尝试使用unix shell脚本但无法执行此操作。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我敢打赌,这些人可以为您提供更高效的代码,但这里基本上是您想要使用awk命令:

#!/bin/bash

mystring="<string name=\"XYZ\">Find And Replace This</string>"

value=`echo $mystring | awk -F'>' '{print $2}' | awk -F'<' '{print $1}'`

functionname="main.`echo ${value//[[:blank:]]/}`"

mystring=`echo $mystring | awk -F'>' '{print $1}'`
mystring="${mystring}>${functionname}</string>"

echo "Value: ${value}"
echo "Mystring: ${mystring}"

输出:

Value: Find And Replace This
Mystring: <string name="XYZ">main.FindAndReplaceThis</string>