fooファイルで行いたい処理フロー
手順1.対処のフォルダにhogeファイルがあるかfooで確認する(以降はあった場合の手順となる)
.IDの初回登録の場合 受け取ったhogeファイルのの内容は以下になります。
1行目から20行目まではID以外の内容が記載されている。 IDがある行は21-23行に存在 # aaaaa = txxxxx,txxxxx # bbbbb = txxxxx,txxxxx # ccccc = txxxxx,txxxxx 24行以下にはID以外の内容が記載されている
手順2.fooで初回のID登録か判断する(先頭に#があるとき初回登録扱い)
・先頭に#があればtrue
手順3.追加するIDがあるか確認する(手順2がfalseのときの処理)
・hogeファイルのグループとIDの行を取得
* IDを追加する場合 追加するIDがあるかの確認
・IDがリストにあればtrue
* IDを削除する場合 削除するIDがあるかの確認
・IDがリストになければtrue
手順4.手順2.3でファイルの内容を確認して内容を変更していくか判断する
・手順2がtrueもしくは 手順3がfalseの場合以降の手順を進める
・内容の変更がない場合はwarningを表示させて終了
手順5.hogeファイルの内容を変更する前に hoge.yyyyMMddHHmmSS.sssの形で同じ階層にバックアップを作成
手順6.手順2でtrueだった場合初回登録とみなす
・IDを追加する前に先頭にある#と半角スペース =後ろにある txxxxx,txxxxxを削除し aaaaa=の状態にする
手順7.ここでIDリストの追加と重複削除処理を行う
* 手順3で受け取ったIDリストを配列に変更(カンマを半角スペースに変える)
* 変更した配列で削除追加処理を行う
* 追加削除した配列をカンマ区切りの文字列に戻す。
* 追加削除し終えた行をhogeファイルの元の行に置き換える
以上のフローを実行できればと思っています。
ーーーーーーーーーーーーーーーーーーーー
※初回登録かそうではないかのtrue falseは確認できる状態です※
hogeが更新されるごとにグループが持つのIDが追加される
稀に重複したIDが追加されるため重複してるかしていないかの確認処理をfooで行いたい。
・使用するファイルは2つあります。
①テキストファイルhoge(グループとIDが追加されていく)
②テキストファイルfoo(重複があるかないかを確認、あった場合hogeのバックアップを作成し、その後重複の処理を行う)
・テキストファイルhogeの内容は以下(初回登録ではない場合)になります。
(例)グループ名 = ID,ID,ID,ID
aaaaa = t11111,t22222,t33333,t44444,t55555 bbbbb = t11111,t22222,t33333,t44444,t55555 ccccc = t11111,t22222,t33333,t44444,t11111
以下は修正前と修正後のhogeファイルの内容となります。
IDリスト記載の行のみ抜粋(修復するIDを増やしています)
修正前hogeファイル(重複がある場合)
aaaaa = t11111,t22222,t33333,t44444,t55555 bbbbb = t11111,t22222,t33333,t44444,t55555 ccccc = t11111,t22222,t33333,t44444,t11111,t22222,t99999
修正後hogeファイル
aaaaa = t11111,t22222,t33333,t44444,t55555 bbbbb = t11111,t22222,t33333,t44444,t55555 ccccc = t11111,t22222,t33333,t44444,t99999
経験が浅く見当違いな質問でしたら申し訳ございません。
説明不足かとは思いますが、、、
ご意見、ご回答教えていただきますととても助かります。
宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー