Bash 向多个文件中的现有哈希脚本添加更多哈希
我有一些php脚本文件,它们使用md5散列存储MySQL的密码 下面是该php文件中的一些现有查询代码Bash 向多个文件中的现有哈希脚本添加更多哈希,bash,shell,sed,Bash,Shell,Sed,我有一些php脚本文件,它们使用md5散列存储MySQL的密码 下面是该php文件中的一些现有查询代码 some query part....,MD5('$pass'),.....some query part 有些脚本使用小写md5 some query part....,md5('$pass'),.....some query part 我的目标是在现有代码中添加另一个哈希,如sh1 因此,预期的查询脚本应该如下所示 some query part....,sh1(MD5('$pass'
some query part....,MD5('$pass'),.....some query part
有些脚本使用小写md5
some query part....,md5('$pass'),.....some query part
我的目标是在现有代码中添加另一个哈希,如sh1
因此,预期的查询脚本应该如下所示
some query part....,sh1(MD5('$pass')),.....some query part
最后,当前md5是小写还是大写并不重要
我试着用sed替换那些文件,但没有成功
sed -i 's/md5\(.*\)/sha1\(md5\(.*\)\)/gI' *.php
有人能帮我吗
谢谢您可以使用
sed -i 's/\bmd5([^()]*)/sha1(&)/gI' *.php
POSIX BRE表达式匹配:
-单词边界\b
)-一个md5(
子字符串md5(
-0个或更多字符,而不是[^()]*
和(
)
-a)
字符)
sha1(&)
替换模式替换匹配的wothsha1(
),然后替换匹配值,然后替换)
见:
s='some query part....,MD5('"'"'$pass'"'"'),.....some query part
some query part....,md5('"'"'$pass'"'"'),.....some query part'
sed 's/\bmd5([^()]*)/sha1(&)/gI' <<< "$s"
some query part....,sha1(MD5('$pass')),.....some query part
some query part....,sha1(md5('$pass')),.....some query part