• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:二つのテキストファイルを行単位で交互に一つに)

二つのテキストファイルを行単位で交互に結合する方法

このQ&Aのポイント
  • 二つのテキストファイルを行単位で交互に結合させる方法を教えてください。
  • テキストファイルA.txtとB.txtの内容を行単位で交互に一つのテキストファイルにまとめたいです。
  • Windowsのコマンドプロンプトでbusyboxを使用せずに行単位でテキストファイルを結合する方法も知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • NuboChan
  • ベストアンサー率47% (785/1650)
回答No.3

excelが利用できる環境であれば、マクロで処理できます。 1)excelを起動。 2)A列に「A.txt」をコピペ。 3)B列に「B.txt」をコピペ。 4)以下のマクロで希望の処理ができます。 5)C列をメモ帳にコピペして保存 (保存時の文字コードに注意) ’------------------------- Option Explicit Sub test() Dim i As Long Dim n As Single n = 1 For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row Cells(n, "C").Value = Cells(i, "A") Cells(n + 1, "C").Value = Cells(i, "B") n = n + 2 Next End Sub

noname#252033
質問者

お礼

返答してくださりありがとうございます。 スクリーンショットまで載せていただきわかりやすいです。

その他の回答 (2)

  • M_Sato
  • ベストアンサー率54% (550/1003)
回答No.2

Excelを使えば簡単にできます。 1)A.txtをExcelで読み込み、データの前に空のA列を挿入し、A1から下に向けて奇数番号をふります。   (具体的にはセルA1に数値「1」を入力。セルA2に数式「=A1+2」を入力。それを下にコピーする) 2)これを、テキスト形式(タブ区切り)でA2.txtとして保存します。 3)同様にB.txtを読み込んで、A列に偶数番号をふります。   (A1に「2」を入力。A2に「=A1+2」を入力。下にコピー) 4)これを、テキスト形式でB2.txtとして保存します。 5)A2.txtとB2.txtをバッチファイルで結合します。具体的には、メモ帳で以下を記入して、comb.batというファイル名前で保存します。   copy A2.txt+B2.txt C2.txt 6)comb.batをダブルクリックするとC2.txtというファイルができます。 7)C2.txtをExcelで読み込み、A列で並べ替えをしてから、A列を削除します。 8)これをテキスト形式でC.txtとして保存すれば完成です。

noname#252033
質問者

お礼

Excelの方法を教えていただきありがとうございます。

  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.1

>もしかしたらWindowsにもともと備わっていない機能なのではないか Windows、そしてその元となったDOSに、行単位でテキストファイルを扱うコマンドは基本的にありません。 headもtailもpasteも、sedもawkもgrepも、何もありません。 find(指定した文字列を含む行を表示する)とか、fc(ファイル内容を比較する)ぐらいの物はありますが。 それだけの用途で完結していて、応用がききません。 unix(Linux)にはそれらのテキスト操作コマンドが標準で入っていますから、busyboxでかなりのlinuxコマンドを使えるようにすることで、その中の一つであるpasteコマンドも使えるようになるだけです。 Windows標準の機能でやろうとするなら、WSH(Windows Script Host)か、Windows PowerShell 用のプログラムを組んで、実行させる、ぐらいの方法しか無いでしょう。

noname#252033
質問者

お礼

busyboxをインストールすることでunix(Linux)にあるpasteコマンドもDOSで使えるようになるわけですね。 pasteコマンドはやっぱりWindowsにもともとそなわっていませんでしたか。詳しく説明してくださりありがとうございます。助かりました。

関連するQ&A