仕分け中自作のtail(その8) 前回作った抽出部分のサイズを取得する処理を、get_tailsizeという関数名で関数化しました。 次に、64~69行目を関数化して、ファイルを少しずつバッファへ読み込んで、値を標準出力する処理を作ります。 これで、... 2018.06.10仕分け中
仕分け中自作のtail(その7) 前回まではByte単位でしたが、今回から行単位の抽出処理を作っていきます。 tailコマンドでファイル末尾を表示する際、ファイルサイズが小さければ、全部読み込んだ後、所望のファイル末尾だけ表示する処理でも良いですが、大きなファイルだと... 2018.06.09仕分け中
仕分け中自作のtail(その6) まだまだ自作tail続きます。 前回ファイルを読み込みながら表示してた処理を、今回は、ファイル読み込みと、抽出結果を表示する処理に分離します。 ついでにファイル読み込みは、fopen~fgetc~fcloseを、open~read~cl... 2018.06.08仕分け中
仕分け中自作のtail(その5) 前回の続きです。自作のtailの末尾Byte抽出を複数のファイルに対応します。 今回の自作tailで読み込ませるバイナリ作成。 本物tailの動きを確認します。 行抽出と同じく、-cオプション指定時のByt... 2018.06.07仕分け中
仕分け中自作のtail(その4) 続きです。 前回のソースに、getopt処理を追加します。リアルtail同様、-cでByteを指定して末尾データを抽出できるように修正。 getopt.hを追加するのと、15~33行目当たりを追加、修正してます。 テス... 2018.06.06仕分け中
仕分け中自作のtail(その3) 続きです。 今回は、ファイルの10Byte末尾を出力するプログラムを作ります。 前回確認したfseekで末尾からのオフセットを-10にして読み込んで表示すれば良いだけですが、サイズが10Byte未満のファイルにも対応するので、チェッ... 2018.06.05仕分け中
仕分け中自作のtail(その2) 自作tail続きです。 前回は、ファイル全体を読み込んで、末尾10行を表示するプログラムを作りました。 末尾部分の抽出だけでなく、中間部分や、行指定して抽出する機能も入れていく予定です。まあ、何より、tailの肝である、ファイルを後... 2018.06.04仕分け中