
めぐみです。
tatsu99さま、先日は親切にアドバイス頂きまして本当にありがとうございました。
恐れ入りますまた追記で質問させて頂きたいことがありましてご連絡させて頂きました。
複雑そうなので無理そうでしたら読み飛ばしてくださいませ。
先日アドバイス頂いた出力結果にプラスして以下のデータを計算して出力させることは可能でしょうか?昭和と平成の処理です。
1.B.txtの1行目を参照します。
2.1926から1989の場合:
下二桁マイナス25にします。
例えば1986の場合、1986-25=61
1990から1999以降の場合:
下二桁マイナス88にします。
例えば1996の場合、1996-88=8
2000以降の場合:
下三桁000を100と考えてそれにマイナス88にします。
例えば2013の場合、136-88=25
それ以外のデータは無視します。
3.追加の出力データ
例えばB.txtのデータが下記のような場合
1986
3
6
以下のデータも追加出力したいです(A.txtがKATOの場合)。
kato6136
kato61
kato610306
6136kato
61kato
610306kato
610306
6136
61
以上、よろしくお願いいたします。
いつも誠意あるご回答をただ来まして本当にありがとうございます。
めぐみ

No.3ベストアンサー
- 回答日時:
以下のようにしてください。
----------------------------------------
$file_a = shift(@ARGV);
$file_b = shift(@ARGV);
open FHA,$file_a or die("can't open $file_a");
@data_a = ();
while($line=<FHA>){
chomp($line);
push @data_a,$line
}
close FHA;
open FHB,$file_b or die("can't open $file_b");
@data_b = ();
while($line=<FHB>){
chomp($line);
push @data_b,$line
}
close FHB;
#------------------追加開始---------
# 西暦を和暦に変換(昭和と平成のみ)
$wanen = $data_b[0];
if ($wanen >= 1926 && $wanen <= 1989){
$wanen -= 1925;
}elsif ($wanen >=1990){
$wanen -= 1988;
}
#------------------追加終了---------
foreach $da (@data_a){
printf("%s%d%d%d\n",$da,$data_b[0],$data_b[1],$data_b[2]);
printf("%s%d\n",$da,$data_b[0]);
printf("%s%d%d\n",$da,$data_b[1],$data_b[2]);
printf("%s\n",$da);
printf("%s%04d%02d%02d\n",$da,$data_b[0],$data_b[1],$data_b[2]);
printf("%s%02d%02d\n", $da,$data_b[1],$data_b[2]);
printf("%d%d%d%s\n",$data_b[0],$data_b[1],$data_b[2],$da);
printf("%d%s\n",$data_b[0],$da);
printf("%d%d%s\n",$data_b[1],$data_b[2],$da);
printf("%s\n",$da);
printf("%04d%02d%02d%s\n",$data_b[0],$data_b[1],$data_b[2],$da);
printf("%02d%02d%s\n",$data_b[1],$data_b[2],$da);
#------------------追加開始---------
printf("%s%d%d%d\n",$da,$wanen,$data_b[1],$data_b[2]);
printf("%s%d\n",$da,$wanen);
printf("%s%02d%02d%02d\n",$da,$wanen,$data_b[1],$data_b[2]);
printf("%d%d%d%s\n",$wanen,$data_b[1],$data_b[2],$da);
printf("%d%s\n",$wanen,$da);
printf("%02d%02d%02d%s\n",$wanen,$data_b[1],$data_b[2],$da);
#------------------追加終了---------
}
printf("%d%d%d\n",$data_b[0],$data_b[1],$data_b[2]);
printf("%d\n",$data_b[0]);
printf("%d%d\n",$data_b[1],$data_b[2]);
printf("%04d%02d%02d\n",$data_b[0],$data_b[1],$data_b[2]);
printf("%02d%02d\n",$data_b[1],$data_b[2]);
printf("%s%s\n",$data_a[0],$data_a[1]);
printf("%s%s\n",$data_a[1],$data_a[2]);
printf("%s%s\n",$data_a[2],$data_a[0]);
printf("%s%s\n",$data_a[1],$data_a[0]);
printf("%s%s\n",$data_a[0],$data_a[2]);
printf("%s%s\n",$data_a[2],$data_a[1]);
#--------追加開始-----------------
printf("%02d%02d%02d\n",$wanen,$data_b[1],$data_b[2]);
printf("%d%d%d\n",$wanen,$data_b[1],$data_b[2]);
printf("%d\n",$wanen);
#--------追加終了-----------------
----------------------------------------------------
追加開始~追加終了が今回の追加分です。
tatsu99さま
ご連絡遅れて大変申し訳ありませんでした!
完璧でした!
本当に本当にありがとうございました!
すごく助かりました。
今後ともよろしくお願いいたします。
めぐみ

No.2
- 回答日時:
補足要求です。
前回の結果は-------------------------
kato198636
kato1986
kato36
kato
kato19860306
kato0306
198636kato
1986kato
36kato
kato
19860306kato
0306kato ・・・・・・・A
megumi198636
megumi1986
megumi36
megumi
megumi19860306
megumi0306
198636megumi
1986megumi
36megumi
megumi
19860306megumi
0306megumi・・・・・・・・B
meguchan198636
meguchan1986
meguchan36
meguchan
meguchan19860306
meguchan0306
198636meguchan
1986meguchan
36meguchan
meguchan
19860306meguchan
0306meguchan・・・・・・・C
198636
1986
36
19860306
0306・・・・・・・・・・・D
katomegumi
megumimeguchan
meguchankato
megumikato
katomeguchan
meguchanmegumi
---------------------------------
ですが、
kato6136
kato61
kato610306
6136kato
61kato
610306kato
は、A.TXTの内容を含むので、繰り返しになります。
・・・・Aの後ろに追加でよいですか?
同様に、megumi6136の分は・・・・・Bの後に追加になります。
610306
6136
61
の追加は、・・・・・Dの後ろでよいですか?
以上、補足をお願いします。
tatsu99さま
早速のご連絡ありがとうございます。
おっしゃるとおりの方法で問題ございません。
何とぞよろしくお願いいたします。
めぐみ
No.1
- 回答日時:
可能です.
2 はおかしな処理だけど.
すみません、先ほど出力例で昭和の場合の例を出しましたが
1996の場合、平成ですので下記のようにしたいです(平成処理)。
3.追加の出力データ
例えばB.txtのデータが下記のような場合
1996
3
6
以下のデータも追加出力したいです(A.txtがKATOの場合)。
1996が8と08になります。
kato836
kato0836
kato8
kato08
kato80306
kato080306
836kato
0836kato
8kato
08kato
80306kato
080306kato
08kato
80306
080306
836
8
平成処理になると出力結果が少しだけ多くなってしまいます。
すみません、頂いたご連絡の返信に新たに平成処理が増えてしまったようで。
恐れ入りますが何とぞよろしくお願いいたします。
めぐみ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) VBAで重複データを確認したい 5 2022/10/07 16:24
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルに書き込めない/ファ...
-
printfの%eで指数部分の桁数を...
-
【Excel VBA】10進数を2進数に...
-
テキストファイルの結合について
-
stable diffusionのエラー
-
'dataType' 引数を Null にする...
-
マクロ登録したピボットが重い...
-
Excel VBA グラフ作成のとき...
-
micropythonコード 修正
-
ポインター引数の関数でコンパ...
-
C言語の勉強しています。すみま...
-
C言語 ファイル内のデータと入...
-
Excel 1セル当りの文字数が2...
-
char str[256]の256の意味は?
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
-
COBOLのCOMP形式について
-
DataGridViewの特定列に入力さ...
-
postで送られてきたパラメータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
linuxのシェルでファイル名に先...
-
int型(2バイト)データの分割
-
エクセルVBA:日付データの変換...
-
C#でのswitch文
-
【Excel VBA】10進数を2進数に...
-
ポインター引数の関数でコンパ...
-
'dataType' 引数を Null にする...
-
Excel VBA グラフ作成のとき...
-
テキストファイルの結合について
-
Cのプログラムがどうしても動き...
-
C言語でのLinuxとwindows共通の...
-
C言語の構造体にてバブルソート...
-
CreateProcessでの環境変数の設...
-
PINVOKEで構造体配列をマーシャ...
-
System.Collections.ArrayList ...
-
C言語 ファイル内のデータと入...
-
オセロゲーム 2次元配列で困...
-
RegQueryValueExでの2バイト文字
おすすめ情報