我在Mac上的Terminal中使用以下命令来读取电子邮件地址文件,并将其转换为MD5哈希。
tr -d " " < em.txt | tr '[:upper:]' '[:lower:]' | while read line; do
(echo -n $line | md5); done | awk '{print $1}' > hashes1.txt
这将产生一个比原始输入文件短1行的哈希文件。但我不知道为什么。
此代码在下面做了一些事情。
谢谢!
答案 0 :(得分:1)
您的tr命令错误:应该是:
tr -d " " < em.txt |
tr '[[:upper:]]' '[[:lower:]]' |
while IFS= read -r line; do
echo -n "$line" | md5 | awk '{print $1}' >> hashes1.txt
done
或
while IFS= read -r line; do
echo -n "$line" | md5 | awk '{print $1}' >> hashes1.txt
done < <(tr -d " " < em.txt | tr '[[:upper:]]' '[[:lower:]]')
也更改了文件进纸位置。
并确保您的文件中没有带有
的奇怪字符od -c file
如果是,请安装dos2unix
,然后安装:
dos2unix file
或使用perl:
perl -i -pe 's/\r//g' file