d=$(diff <(echo "$test1" |sed 's/./&\n/g') <(echo "$test2" |sed 's/./&\n/g') | grep -c '^[<>]')
echo $((100-100*d/(${#test1}+${#test2})))%
e.g.
liuyd@inn:~$ test1="12345"
liuyd@inn:~$ test2="12344"
liuyd@inn:~$ d=$(diff <(echo "$test1" |sed 's/./&\n/g') <(echo "$test2" |sed 's/./&\n/g') | grep -c '^[<>]')
liuyd@inn:~$ echo $((100-100*d/(${#test1}+${#test2})))%
80%
本文介绍了一种通过逐字符比较并结合字符串长度来计算两个字符串相似度的方法,使用了diff和sed命令配合shell脚本实现,适用于需要评估文本差异度的场景。
417

被折叠的 条评论
为什么被折叠?



