次のようにsedにコマンドを入力したいと思います。
md5sum input.txt | sed 's/^\(....\).*/\1/;q'
これはチェックサムの最初の4文字だけを出力することによって行われます。しかし、最初の4文字を出力したいのですが、他のすべての文字(編集情報)の代わりにxを使用したいと思います。私は今とても迷っています。
ベストアンサー1
GNU Sedを使用すると、
md5sum input.txt | sed 's/./x/5g'
これは代替文字列の最初の4文字をスキップし、他のすべての文字を置き換えます。
AwkのPOSIXの代替案(より簡単なことがあるかもしれません)
md5sum xad | awk '{
four=substr($0, 1, 4)
rest=substr($0, 5)
gsub(/./, "x", rest)
print four, rest
}' OFS=""