諸先輩方
よろしくお願いいたします。
仮りに下記のような場合、どのような方法で実現できますか?
a.txt
aaa
bbb
ccc
b.txt
aaadddfff
hhhbbbjjj
nnnmmmccc
上記2つのファイルがあるとき、a.txt の文字列を利用して、b.txtの 同じ文字列が含まれる行を一行づつ抜き出して表示させる。
出力イメージ
aaa => aaadddfff
bbb => hhhbbbjjj
ccc => nnnmmmccc
※ 文字列や行数は可変、汎用性をもたせる。
google先生をフル活用しましたが、解決できませんでした。
以上になります。
No.3
- 回答日時:
Rubyで書いてみました。
※sed/awkやPerlで実現したほうが、汎用性に優れると思います。
検索対象を切り替えやすくする際の一例に
<確認環境>
Ruby.1.8.7
<使い方>
・引数1に条件文字列のリストファイルパス
・引数2以降で検索対象のリストファイルパスを列記 or 標準入力
<確認時ファイル構成>
# a.txt
aaa
bbb
ccc
# b.txt
aaadddfff
hhhbbbjjj
nnnmmmccc
# c.txt
foo1
foo2
fooaaa3
foo4
barccc4
<表示のみ&ファイルパス>
ruby -n -e 'BEGIN{A=File.read(ARGV.shift).map(&:chomp)};(a=A.find{|l|$_.include? l})&&puts($_)' a.txt b.txt c.txt
↓
aaadddfff
hhhbbbjjj
nnnmmmccc
fooaaa3
barccc4
<見出しつき&ファイルパス>
ruby -n -e 'BEGIN{A=File.read(ARGV.shift).map(&:chomp)};(a=A.find{|l|$_.include? l})&&puts("#{a} => #{$_}")' a.txt b.txt c.txt
↓
aaa => aaadddfff
bbb => hhhbbbjjj
ccc => nnnmmmccc
aaa => fooaaa3
ccc => barccc4
<見出しつき&標準入力>
ruby -n -e 'BEGIN{A=File.read(ARGV.shift).map(&:chomp)};(a=A.find{|l|$_.include? l})&&puts("#{a} => #{$_}")' a.txt < c.txt
↓
aaa => fooaaa3
ccc => barccc4
Ruby は書いたことが無かったため、ベストにはできませんでしたが、開発業務に移行した際は活用させていただきます。
これから、いただいたコード解析して学んでみます。
ありがとうございました!
No.2
- 回答日時:
ついでに。
先頭に見出しをつけたいのであればsed 's/\(^.\+$\)/echo \"\0\=\>\"\;grep \-\-color \0 b.txt/g' a.txt | awk '{system($0)}'
とかですかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
水に映った月明かりを表す言葉
-
VBAで○○:○○と表示させたいのに...
-
【バッチファイル】ホスト名を...
-
参照設定は2.8と6.0 6.1とどち...
-
バンタンのDOPEの最初って ラプ...
-
複数のテキストファイルをエク...
-
Adobe Acrobat と Adobe Reader...
-
昔のテレビっておっぱいが出て...
-
韓国
-
デスクチェア―のガスシリンダー...
-
TextBoxコントロールを引数とし...
-
XJAPANバンド内いじめはほんと...
-
韓流好き妻の行動に怒り…私は狭...
-
latestの対義語
-
動画が緑のモザイクのような画...
-
確率の問題です。 10人を4人、4...
-
BTSと言う反日韓国アイドルはも...
-
複数条件のDLOOKUP文が上手く使...
-
この方のお名前教えてください!
-
Previous version
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
昔のテレビっておっぱいが出て...
-
複数のテキストファイルをエク...
-
VBAで○○:○○と表示させたいのに...
-
【バッチファイル】ホスト名を...
-
水に映った月明かりを表す言葉
-
Adobe Acrobat と Adobe Reader...
-
参照設定は2.8と6.0 6.1とどち...
-
TextBoxコントロールを引数とし...
-
デスクチェア―のガスシリンダー...
-
韓流女と別れたい
-
韓国人やk-pop好きの女性に特徴...
-
バンタンのDOPEの最初って ラプ...
-
imac2012ってまだ使えますか?...
-
次の問題(本文の下にあります...
-
韓流好き妻の行動に怒り…私は狭...
-
latestの対義語
-
twiceのメンバーの食べ方が汚く...
-
kpopアイドルtxt スビン がとし...
-
雪の女王、ボラの少女時代を演...
-
確率の問題です。 10人を4人、4...
おすすめ情報