うまくいけば、これはそこにいる誰かにとって簡単な質問です. 何を使用する必要があるかはかなりわかっていますが、それを機能させる方法がわかりません。問題は次のとおりです。
フラットファイルデータベースがあります。それを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
ケント、そして答えてくれた他のみんなに感謝します。