No.1ベストアンサー
- 回答日時:
原始的ですが、以下の方針が考えられます。
・ファイルの内容を一行ずつ読み込む
・削除対象となる行かどうかのチェック
・削除対象の行なら、次の行へ
・削除対象でなければ、行の内容を変数に格納
・全ての行をチェックし終えたら、変数に格納した
情報だけを元のファイルに上書きする。
これは、効率は悪いのですがとりあえず使えます。
ちなみに、Tempファイルを使う方式だと
「削除対象でなければ、行の内容を変数に格納」
しないで、ファイルに追記することになります。
(全部終わったら、Tempファイルと元のファイルを
置き換えて、Tempファイルを削除します)
この回答へのお礼
お礼日時:2003/08/19 15:50
おおーなるほど('o'*)
てっきりそのまま削除できるんだと思ってましたが、
まずそこから違うんですねー
とても勉強になりました^^
どうもありがとうございます<(__)>
No.2
- 回答日時:
おそらく読み出すときは1行づつ読み出して配列に入れていると思います。
それを利用する場合はforeachなどで配列の要素一つ一つに対して処理を行います。削除するときは、foreachで該当する番号と一致するかどうか要素をひとつひとつ比較し、一致しない場合だけ、その要素を別の配列にいれます(push,unshift等)。
そしてその新しい配列をファイルに書き出せば該当行の含まれないファイルができます。
ログファイルが大きくなると、処理速度等が問題になるので工夫が必要でしょうが、直感的に分かり易く、他の処理とからめて応用は利くと思います。
別の方法として、ファイルから1行づつ読み出したとき配列ではなく番号をキーにしたハッシュに入れておくと、該当する番号をキーにもつ要素をdeleteによって削除できます。foreachで回す部分が減ってよさそうです。
具体的にはフリースクリプトや参考書が勉強になります。
参考URL:http://allabout.co.jp/career/cgiperl/
この回答へのお礼
お礼日時:2003/08/19 15:58
ありがとうございます^^
とりあえず今は勉強段階なので、上の方法でやってみようと思います。
理解できるようになってきたら下の方法も試してみますね(^▽^)ノ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- ノートパソコン ソフトアンインストール残存ファイル 3 2022/09/13 18:15
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) A列に重複した番号の行を条件を指定して削除 4 2023/04/11 05:47
- Google Drive gdriveアプリをpcから削除したい 3 2022/09/18 13:43
- その他(パソコン・スマホ・電化製品) Googleカレンダーで不要データを一括削除したい 1 2023/08/02 12:42
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでテキストファイルの改行を...
-
Cで2次元配列にCSVファイルを...
-
Unicodeのファイル読み込みがう...
-
テキストファイルを後ろから読...
-
[VBS] 16進数でバイナリファイ...
-
awk getlineをもう一度ファイル...
-
C言語でのファイル読み込み
-
C言語初心者です。 C言語のファ...
-
DXFファイルをVBで取り込み、図...
-
数値から画像を作りたい
-
fread関数の使い方がわかりませ...
-
バイナリデータの書き換え
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
バッチファイル 二つ上のディ...
-
エクセルvbaでdocuworksprinter...
-
Wordで差込印刷した後に別々の...
-
カンマ区切りのCSVファイルから...
-
エクセルで複数のコメントのサ...
-
Excel 相対パス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイト型のデータを16進表記で...
-
VBAでテキストファイルの改行を...
-
テキストファイルを後ろから読...
-
VBAでテキストファイルを複数開...
-
バイナリファイルでOutOfMemory...
-
DXFファイルをVBで取り込み、図...
-
RGBのバイナリデータをCImageに...
-
CFileの使い方を教えてください
-
datagridviewでドラッグ操作が...
-
Excel VBAで画像解析
-
バイナリの読み込みから出力まで
-
bmpファイルの明暗の数値化の方法
-
fread関数の使い方がわかりませ...
-
SDKにて。
-
日本語を配列に収め、そして表...
-
バイナリ出力
-
VBSにてCSV読み込みし比較
-
ファイル内の(&H0A)を(&H0D0A)...
-
Cで2次元配列にCSVファイルを...
-
日本語混じりのファイルをラン...
おすすめ情報