同じバイトをたくさん生成します。

同じバイトをたくさん生成します。

ソフトウェアのテストデータでバイナリファイルを作成しています。テストデータは、同じバイトの長い配列で構成する必要があります。 0バイトの場合は/ dev / zeroを使用してください。そこからゼロを別のバイトに変換するコマンドはありますか、それとも同様の操作を実行するコマンドはありますか?

私はこのbashスクリプトを思いつきましたが、ソリューションが理想的だとは感じません。固定数のバイトのみを生成できます。より簡単なスクリプトを使用してこれを行う方法が必要です。

for i in $(seq 5); do
    echo $'\x10'
done

ベストアンサー1

希望のキャラクターを/dev/zero作成するには:n

head -c "$n" /dev/zero | sed 's/\x00/a/g'

a希望の文字に置き換える必要があります。

たとえば、

$ n=50; head -c "$n" /dev/zero | sed 's/\x00/a/g'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

これはあなたがsedGNUのようなものをsed理解していると仮定します\x00

または、次のものをtr使用できます。

$ n=50; head -c "$n" /dev/zero | tr '\00' 'a'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

おすすめ記事