我想搜索文件并用它的散列 (SHA1) 值替换特定模式。
例如,let file.txt
有以下内容:
one S56G one two three
four five V67X six
我想[A-Z][0-9]\{2\}[A-Z]
用匹配的 SHA1 值替换模式。在上面的示例中,匹配项是S56G
和V67X
。
使用sed
,我试过:
sed "s/[A-Z][0-9]\{2\}[A-Z]/$(echo \& | sha1sum)/g"
没有成功,因为结果始终是 的哈希值'&'
。
我还尝试ge
使用以下命令进行标记:
sed 's/[A-Z][0-9]\{2\}[A-Z]/echo & | sha1sum/ge'
抛出错误:
sh: 1: one: not found
sha1sum: one: No such file or directory
sha1sum: two: No such file or directory
sha1sum: three: No such file or directory