我编写了一个脚本,从字典中查找哈希值,并以“word:md5sum”的形式为每个单词输出。然后,我有一个名称文件,我想用它来放置每个名称后跟每个哈希值,即 汤姆:word1hash 汤姆:word2hash 。 。 鲍勃:word1hash
等等。一切正常,但我无法弄清楚替代。这是我的剧本。
$#!/bin/bash
#/etc/dictionaries-common/words
cat words.txt | while read line; do echo -n "$line:" >> dbHashFile.txt
echo "$line" | md5sum | sed 's/[ ]-//g' >> dbHashFile.txt; done
cat users.txt | while read name
do
cat dbHashFile.txt >> nameHash.txt;
awk '{$1="$name"}' nameHash.txt;
cat nameHash.txt >> dbHash.txt;
done
行
$awk '{$1="$name"}' nameHash.txt;
是我尝试进行替换的地方。
谢谢你的帮助
答案 0 :(得分:2)
尝试使用以下内容替换最后一个循环(cat
和awk
)的全部内容:
awk -v name="$name" -F ':' '{ print name ":" $2 }' dbHashFile.txt >>dbHash.txt