bash – 哈希文本文件中的每一行
发布时间:2020-12-15 18:59:20 所属栏目:安全 来源:网络整理
导读:我正在尝试编写一个小脚本,它将打开一个文本文件,并为每行文本提供一个md5哈希值.例如,我有一个文件: 123213312 我希望输出为: ba1f2511fc30423bdbb183fe33f3dd0f6f36dfd82a1b64f668d9957ad81199ff390d29f732f024a4ebd58645781dfa5a 我正在尝试在bash中执
我正在尝试编写一个小脚本,它将打开一个文本文件,并为每行文本提供一个md5哈希值.例如,我有一个文件:
123 213 312 我希望输出为: ba1f2511fc30423bdbb183fe33f3dd0f 6f36dfd82a1b64f668d9957ad81199ff 390d29f732f024a4ebd58645781dfa5a 我正在尝试在bash中执行此部分,它将读取每一行: #!/bin/bash #read.file.line.by.line.sh while read line do echo $line done 后来我做了: $more 123.txt | ./read.line.by.line.sh | md5sum | cut -d ' ' -f 1 但我在这里遗漏了一些东西,不起作用:( 也许有一种更简单的方法……
几乎在那里,试试这个:
while read -r line; do printf %s "$line" | md5sum | cut -f1 -d' '; done < 123.txt 除非您还想在每行中散列换行符,否则应使用printf或echo -n而不是echo选项. 在脚本中: #! /bin/bash cat "$@" | while read -r line; do printf %s "$line" | md5sum | cut -f1 -d' ' done 可以使用多个文件作为参数调用脚本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |