希望这对那里的人来说是一个简单的问题。我很确定我知道我需要使用什么,但我不知道如何使它工作。这是问题:
我有一个平面文件数据库。让我们称之为 file.db
以下是 file.db 中的一些示例行
#file.db
#
line1|example|sample|name|flag|blah
line2|example|sample|name|flag|blah
line3|example|sample|name|flag|blah
基本上,该脚本计算 tar 文件的 MD5 哈希。让我们说 tar 文件的哈希 = 1234abcd
我需要将 MD5 总和和另一个分隔符 (|) 附加到 file.db 中的特定行
例如:
#file.db
#
line1|example|sample|name|flag|blah
line2|example|sample|name|flag|blah|1234abcd
line3|example|sample|name|flag|blah
它附加到的行当然将由变量控制。我曾尝试使用 sed 和 awk 但无法弄清楚语法。
更新
谢谢各位,现在有解决办法了。这是我最终做的事情:
HASH=`md5sum tmp/$URL.tgz | awk '{ print $1 }'`
DBLINE=5
awk -v OFS="|" -v l="$DBLINE" -v h="$HASH" 'NR==l{print $0,h;next}1' databases/$WEB > /tmp/$WEB.tmp && mv /tmp/$WEB.tmp databases/$WEB
谢谢肯特,以及其他所有回答的人。