ソフトウェアのテストデータでバイナリファイルを作成しています。テストデータは、同じバイトの長い配列で構成する必要があります。 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
これはあなたがsed
GNUのようなものをsed
理解していると仮定します\x00
。
または、次のものをtr
使用できます。
$ n=50; head -c "$n" /dev/zero | tr '\00' 'a'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa