私はいくつかの「ほぼ良い」例を見つけましたが、それらのどれも正しく動作しませんでした。
ファイルがあります。a.txtそしてファイルcheckme.txt。 md5sum checkme.txtコマンドを実行して、次のように書きたいと思います。10号線~のa.txt文書。
使ってみようsedコマンドを出すが役に立たない。誰でも私を助けることができますか?
答え1
sed
解決策:
sed '10 s/.*/'"$(md5sum checkme.txt | cut -d' ' -f1)"'/' a.txt
10 s/.*/<md5sum result>/
- 10行の内容を交換します。
答え2
解決策ed
:
printf '10d\n-1r !md5sum checkme.txt\n' | ed -s a.txt
スクリプトed
:
10d
-1r !md5sum checkme.txt
これにより、行10が削除され、a.txt
その位置に出力が挿入されます。md5sum checkme.txt
結果が表示または保存されないため、これは実際に多くのことを行いません。
端末に結果を書き込みます。
printf '10d\n-1r !md5sum checkme.txt\n,p\n' | ed -s a.txt
結果を書き換えるにはa.txt
:
printf '10d\n-1r !md5sum checkme.txt\nw\n' | ed -s a.txt
行が10個未満の場合、a.txt
ファイルは変更されません。