将每行的第一个单词替换为其 MD5

将每行的第一个单词替换为其 MD5

我的文件每行都有两个空格分隔的单词。我正在 Unix 中寻找 shell scrip,用其 md5 哈希表示替换每行的第一个单词。

我尝试调整中提到的内容awk 用其哈希值替换列

但是,该解决方案返回的 md5 哈希值看起来是错误的。

md5(is) = a2a551a6458a8de22446cc76d639a9e9

答案1

对于低效且可能不是最佳的答案:

while read -r first rest; do
    echo "$(echo -n $first | md5sum | awk '{ print $1 }') $rest"
done <input_file

这将破坏第一个单词和行的其余部分之间的空白,但应该保留后续单词之间的空白(如果有)。

相关内容