酒好きSEの雑記のようなもの

お酒が大好きなオタクSEが技術的なことや趣味などの雑記を書いていきます。まずは飽きないようにしてみる。

【Windows】複数のテキストファイル(txt、csv等)を1つのファイルにまとめる

台風がやばいですね。

流石に今回は余裕ではなさそうなので水や食料準備しました。


さて、今回は複数のテキストファイルを手軽にまとめる方法です(以降、マージと記載)。

意外と小回り効くのねってことで小ネタとして残します。

簡単だし、IT分野以外でも使えるから活用して作業効率化していきましょう。

今回も初心者向けの言葉で書いていきます。

スポンサードリンク



さて今回は簡単にこんなテキストを準備しました。

f:id:nak-log:20191012174745p:plain
処理対象のテキスト

テキストファイルとCSVファイルです。

まあよく見る拡張子のファイル達ですね。

一応注意事項ですが、こういった作業をするときは作業用のフォルダを作ってその中にファイルをコピーしましょうね。

IT以外の職業の方はわかりにくいと思うけど最悪ミスるとオリジナルのファイル死ぬので。

たとえ単純なマージであっても念のためにね。

それではこいつらをマージしていきます。

コマンドプロンプトPowerShellウィンドウ)を起動する

コマンドラインを実行するためコマンドプロンプトを起動します。

Windows10ならばPowerShellですね。

処理したいフォルダで「Shiftキー」を押しながら右クリックします。

「Shiftキー」はキーボードの左下とか「Enterキー」の下とかにあります。

f:id:nak-log:20191012175508p:plain
Shiftキー押下時の右クリックメニュー

右クリックしたら出てくるメニューの中から[コマンドウィンドウをここで開く]を選んでください。

Windows10の場合は、画像の通りPowerShellウィンドウをここで開く]を選びます。

f:id:nak-log:20191012175908p:plain
PowerShellウィンドウ


こんな感じで起動します。

画像はPowerShellウィンドウですが、コマンドプロンプトでも操作は変わりません。

画像を見てもらえればわかりますが、さっき右クリックしたフォルダの場所が表示されています。
(例:PS D:\90_work>)


よくこういうやり方を紹介しているサイトでは、
「cdコマンドで作業フォルダを指定してください!」
とかありますけど、このやり方のほうが楽です。

まあcdコマンドで指定してくださいってルールあるならもちろん別です。

② コマンドを入力して実行する

起動したウィンドウに以下のルールに従ってコマンドを打ちます。

 type [処理したいファイル名] > [マージした後のファイル名]

typeコマンドはテキストファイルの中身を表示するコマンドです(Windows系OSの場合)。

f:id:nak-log:20191012181303p:plain
コマンドを入力


今回の例では以下のコマンドを入力しました。

 type *.txt > .\Merge\Merge.txt

意訳を含んで日本語で解説すると、

テキストファイル(.txt)全部の中身を、同じフォルダの中にあるMergeフォルダにMerge.txtという名前で保存しろ。

となります。

typeコマンドではワイルドカードとしてアスタリスク(*)を使えます。

わかりやすく説明すると、アスタリスクの部分はどんな名前でもいいよとなります。

③ コマンドを実行する

では「Enterキー」を押して実行します。

何事もなく実行完了したら出来上がってます。

画像では、出来上がったファイルの一覧を確認しやすいようコマンドを追加で打ってます。

f:id:nak-log:20191012182815p:plain
コマンド実行結果


Mergeフォルダの下にMerge.txtというファイルが出来上がってますね。

出来上がったものを確認してみます。

ついでにマージ対象となったファイルの中身と合わせて確認しましょう。

f:id:nak-log:20191012183143p:plain
マージ前後のテキストを確認


この通り、ちゃんと一つにまとまりましたね。

④ その他のコマンド実行例

もちろんテキストファイル(.txt)以外も使えます。

CSVファイルをマージしてみます。

ファイルを準備して、コマンドを打ちます。

f:id:nak-log:20191012183359p:plain
マージ対象CSVファイル


ではマージしていきましょう。

まだウィンドウ開いてるなら、カーソルキー「↑ や ↓」を繰り返し押しましょう。

過去に実行したコマンドを遡れるのでちょっと直すだけで繰り返し使いまわせますよ。

f:id:nak-log:20191012183552p:plain
CSVファイルをTSVファイルに出力


上記のコマンドの通り、取り込む元と吐き出す先が同じファイルの種類である道理はありません

今回はTSVファイルに吐き出します。

f:id:nak-log:20191012183815p:plain
TSVファイルへの出力結果

f:id:nak-log:20191012183852p:plain
TSVファイル出力結果の確認


ちゃんと出力できてますね。

仮に、取り込む元ファイルの末尾に改行がなくてもちゃんと順番に出力されていますね。


もう一つコマンドの例を。

f:id:nak-log:20191012184027p:plain
ワイルドカードを活用したファイル指定


ワイルドカードを指定することで、ファイル名の末尾に数字の2が入っているファイルを指定しています。

試しに出力先はSQLファイルに。

SQLも結局テキストですからね。処理対象ファイルの例にもれません。

実行結果は以下の通り。

f:id:nak-log:20191012184208p:plain
ファイル名の末尾に2を含むファイルのマージ


テキストファイル、CSVファイル関わらずちゃんとマージできましたね。


--------------------------


いかがだったでしょうか。

今回の小ネタ、意外と使える場面あると思います。

積極的に作業の効率化をしていきましょう。

以上。

スポンサードリンク


スポンサードリンク