嗨,大家好,我需要使用Linux脚本的帮助。使用变量替换每次发生的模式
这是一个示例输入:
Login=Testtt/123 Password=Testtt/123 Login=eJwQwq12 Password=OjeEor/Kd
首先,我用grep然后AWK使用下面的代码
passStr=grep 'Passsword' test.param | awk -F= '{print $2}'
所以那里我得到了Testtt123然后把它搜索的模式使用passStr进入变量。
然后我把字符串替换成使用
passNew=ThisIsATest=
现在我需要更换的字符串称为Testtt123第二次出现是在passStr
和使用变量passNew
ThisIsATest=
另一个变量
我只有这个代码,但它取代了所有出现的字符串。
sed /$passStr/{s/$passStr/$passNew/} test.param
这里的问题是,第二次出现位于不同的线路。 还有其他的密码发生,使我很难使用awk,因为passStr将有两个可能的值。我只需要第一个密码。
接下来是有次在该密码的值包含斜杠(改变样品输入)
输出应该像
Login=Testtt123 Password=ThisIsATest= Login=eJwQwq12 Password=OjeEor/Kd
任何帮助,我能得到什么?
显示输入样本。 – John1024 2014-10-01 03:07:12
您已经告诉了我们很多关于您如何解决您的问题的建议,但还不足以说明您的问题实际上是我们真正帮助您的。发布一些示例输入和预期输出,包括您认为难以处理的情况,例如在不希望它们匹配的行上搜索字符串,搜索其他字符串的一部分的字符串等。 – 2014-10-01 13:23:43