
よっしー
こんにちは。よっしーです(^^)
今日は、bashにおいて任意のサイズのテキストデータを作成する方法についてご紹介します。
背景
bashにおいて任意のサイズのテキストデータを作成する方法について調査する機会があったので、そのときの内容を備忘として残しました。
実行環境について
実行環境は下記の記事を参考にお願いします。
概要
前回の記事で、任意のサイズのバイナリファイルを作成する方法について調べましたが、今回は、テキストファイルを作成する方法についてご紹介します。
ddコマンドで任意のサイズのバイナリファイルを作成する方法については、下記の記事を御覧ください。
作成方法
下記のコマンドを実行します。
base64 /dev/urandom | tr -d '\n' | head -c 1m > output.txt
動作確認
下記のような結果になっていれば成功です。

解説
このコマンドは、ランダムなデータを生成し、それをBase64エンコードして指定されたサイズにトリミングし、最終的に指定されたファイルに書き込むものです。各コンポーネントを解説します。
base64 /dev/urandom:/dev/urandomデバイスからランダムなデータを生成し、それをBase64エンコードします。base64コマンドはバイナリデータをテキストデータに変換するために使用されます。ランダムデータは/dev/urandomから提供されます。tr -d '\n':trコマンドはテキストの変換を行います。この場合、-d '\n'は改行文字を取り除くオプションです。Base64エンコードされたデータには改行が含まれることがあり、このステップでそれらを取り除きます。head -c 1m:headコマンドはテキストデータの先頭部分を取得します。-c 1mは最初の1メガバイトだけを取得するオプションです。これにより、1メガバイトのデータに制限されます。> output.txt: 最終的な出力をoutput.txtファイルにリダイレクトします。これにより、生成されたランダムデータが指定されたファイルに書き込まれます。
このコマンドを実行すると、output.txt ファイルに1メガバイトのランダムなBase64エンコードされたデータが保存されます。
おわりに
今日は、bashにおいて任意のサイズのテキストデータを作成する方法についてご紹介しました。

よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)




コメント