テキストファイルを比較して抽出したいのですが、
どのようなソフトがいいのかわかりません。
私がしたいことは
a.txt (検索)
aac =
bcf =
cag =
dai =
b.txt (ベース)
aaa = 123456789
aac = 234567891
bbf = 345678912
bcf = 456789123
cae = 567891234
cag = 678912345
dae = 789123456
dai = 891234567
efg = 912345678
このような二つのテキストがあったら
b.txtからa.txtの文字列を検索してc.txtに抽出するようにしたいのです。
なので、文字列を抽出したc.txtは以下のようになっているはずです。
c.txt
aac = 234567891
bcf = 456789123
cag = 678912345
dai = 891234567
こんな感じです。
必要な文字列を一括で抽出するソフトはありますでしょうか?
ちなみに検索文字列は300弱あります。
当方 windows 7 64bitでwordとexcelは入っております。
もし、良いソフトがありましたら教えてください。
また、excelやwordのマクロでできるなら、優しく教えてください。
当方excelは初心者なもので…
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
Windows 7 を持っていないので正確な情報ではありませんが、標準で付属するであろう findstr コマンドが使えます。
(少なくとも Windows XP には findstr コマンドが付属しています。)
使用方法は今回のような場合、コマンドプロンプトから以下のように実行します。
>findstr /lg:a.txt b.txt
この回答への補足
ご回答ありがとうございます。
こちらの方法で一覧がコマンドプロンプトに書き出されました。
しかし、この検索結果をc.txtに書き出すにはどうしたらよいのでしょうか?
それができれば完成なのですが。
右クリックでコピーもできないようなので…
もしよろしければ追加コマンド等を教えていただけないでしょうか。
いろいろ調べてみたのですが、わかりませんでした…
お手数かけました。
ほかの言葉で検索をかけたら出てきました。
findstr /lg:a.txt b.txt > c.txt
これでいけました。
ありがとうございました。
No.4
- 回答日時:
追伸
Perlはテキスト処理は、その豊富な正規表現で他の追随を許さない優れたプログラム言語ですが、それ以外にも、画像処理とか驚くような拡張性を持っています。
せっかくインストールされたのなら、せいぜい活用してください。
そうですね。
現段階では何を書いているのかさっぱりわかりませんが…^^;
習得したらすごく良いものなんだろうなーと思います。
何度もありがとうございました。
No.1
- 回答日時:
本来はSED (
http://ja.wikipedia.org/wiki/Sed_(%E3%82%B3%E3%8 … )を使うべきでしょう。数万行あっても極めて短時間で終了する。特徴( http://ja.wikipedia.org/wiki/Sed_(%E3%82%B3%E3%8 … )しかし、SEDはなれないと使いにくいし、マニュアルもそんなにたくさんありません。
SED Lecture ( http://www.gcd.org/sengoku/sedlec/ )
Retroengine ( http://chimimo.com/Category/4/ )
そこで、圧倒的にマニュアルが多く、よく使われているPerlがよいでしょう。
メモ帳で下記を書いて、a.txtとb.txtと同じ場所に、check.plとして保存して
open (IN,"<a.txt");
open (DATA,"<b.txt");
open (OUT,">c.txt");
while(<IN>){ # a.txtのチェック
if( /(\w+)\s*=/ ){ $ckeck{$1} = 1;}
}
close IN;
while(<DATA>){ # b.txtのチェック
if( /(\w+)\s*=\s*(\S+)/ && $ckeck{$1} ){
}
}
close DATA;
close OUT;
__END__
ここまで
コマンドプロンプトから
>perl check.pl
とするだけで、c.txtが、できる。千行あっても一秒かからないでしょう。
窓の杜 - ActivePerl ( http://www.forest.impress.co.jp/lib/stdy/program … )
ご回答ありがとうございます。
ActivePerlをインストールして早速やってみたのですが
操作可能なプログラムまたはバッチファイルと(略
とでて起動不可でした。
こちらの環境設定もあるのかと思います。
でもこういうやり方もあるんだと感心しました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでdatファイルを作成??
-
複数のテキストファイルをexcel...
-
テキストファイルの文字色に色...
-
複数のファイルを同時検索し、...
-
ヘルプファイルの翻訳
-
テキストファイルを分割したい...
-
ファイル名の特定文字だけ削除...
-
VBSでテキストファイルのタブ区...
-
一気にずばっと複数のメールを...
-
エクセルのマクロでテキストフ...
-
windowsへscp
-
複数のテキストファイルをまと...
-
フォルダ名一括変更ツール
-
バッチファイルが作成できない
-
テキストファイルを開かずに中...
-
batファイル処理でのテキストフ...
-
ファイル名をリストにするソフト
-
VBAでファイルパスが長すぎてコ...
-
Excel VBA シートを指定して...
-
フォルダ作成用バッチファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のテキストファイルをexcel...
-
Excelでdatファイルを作成??
-
バッチファイルが作成できない
-
batファイル処理でのテキストフ...
-
テキストファイルの文字色に色...
-
複数のファイルを同時検索し、...
-
一気にずばっと複数のメールを...
-
ファイル名の特定文字だけ削除...
-
CDの曲名をテキストファイルで...
-
VBSでテキストファイルのタブ区...
-
CADでグラフ作成
-
KADOKAWA電撃文庫ってフォーマ...
-
文字の頭文字順に自動移動
-
windowsへscp
-
マクロでメモ帳に貼り付け
-
powershell で出力したテキスト...
-
Atokのユーザー辞書に、複数の...
-
ExcelVBA テキストファイルから...
-
複数テキストファイルをエクセ...
-
インデザインのテキスト流し込み
おすすめ情報