|
Contents
1 はじめに 2 一行の中にある世界 3 Awkのうごかしかた 4 短いプログラム 5 プログラム例 6 フォルダの検査 6.1 はじめに 6.2 ファイル情報のみを抽出する 6.3 ファイル名を抽出する 6.4 その他のデータを整形する 6.5 フォルダ検査の結果とまとめ 7 2つのファイルの比較と連想配列 7.1 はじめに 7.2 2つのファイルを読み込む 7.3 連想配列による比較 8 まとめとバッチファイル化 9 おわりに 10 参考文献・サイト |
6.5 フォルダ検査の結果とまとめ以上の前提をふまえて、dirコマンドの結果のなかからファイル情報を抽出、並べ替えして出力するプログラムを作成しましょう。最初の出力では、ファイルがスペースで区切られていたため、少し複雑なプログラムになってしまいました。この後の処理を楽にするため、出力するファイルでは項目をスペースではなくコロンで区切るようにします。そのためには、出力の区切りを指定する変数OFSを変更すればいいのです。 最終的な結果のプログラムを示します。
結果は以下のようになります。
この処理を比較したい二つのフォルダでやります。簡便のため、バッチファイルscan.batを作っておきましょう。
たとえば、docフォルダとtmpフォルダを処理したい場合は、以下のようにします:
これを実行すると、両フォルダの中身を加工したものがscan1.tmpとscan2.tmpに格納されます。 付記お気づきの方もいるでしょうが、このプログラム、2000年問題非対応です(笑)。 1999年の記事なのになあ。解決策は色々とあるのでしょうが、ここでは簡易的に2049年問題に先送りにする方法でお茶を濁すことにします。この姿勢が2000年問題を生んだことを考えるとちっとも過去に学んでいないのですが・・・出力の前にこの部分を入れておきます。これで00〜99を1950〜2049年と解釈することが出来ます。
|