諸先輩方
よろしくお願いいたします。
仮りに下記のような場合、どのような方法で実現できますか?
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で質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のテキストファイルをエク...
-
Adobe Acrobat と Adobe Reader...
-
TextBoxコントロールを引数とし...
-
水に映った月明かりを表す言葉
-
【バッチファイル】ホスト名を...
-
バンタンのDOPEの最初って ラプ...
-
latestの対義語
-
参照設定は2.8と6.0 6.1とどち...
-
角度の求め方
-
昔のテレビっておっぱいが出て...
-
テキストボックスをダブルクリ...
-
韓流好き妻の行動に怒り…私は狭...
-
インテルのCPUについての比較
-
VBAで○○:○○と表示させたいのに...
-
bts(防弾少年団)の曲って韓国語...
-
カラマーゾフ のリーズ→リーザ...
-
次の問題(本文の下にあります...
-
韓流ブームのせいで…
-
アクセスのVBAで「日付」の期間...
-
東京ドームのコンサート、一番...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【バッチファイル】ホスト名を...
-
昔のテレビっておっぱいが出て...
-
参照設定は2.8と6.0 6.1とどち...
-
複数のテキストファイルをエク...
-
水に映った月明かりを表す言葉
-
VBAで○○:○○と表示させたいのに...
-
デスクチェア―のガスシリンダー...
-
TextBoxコントロールを引数とし...
-
Adobe Acrobat と Adobe Reader...
-
韓流女と別れたい
-
次の問題(本文の下にあります...
-
バンタンのDOPEの最初って ラプ...
-
imac2012ってまだ使えますか?...
-
韓流好き妻の行動に怒り…私は狭...
-
latestの対義語
-
雪の女王、ボラの少女時代を演...
-
XJAPANバンド内いじめはほんと...
-
角度の求め方
-
Accessのレポートで重複データ...
-
確率の問題です。 10人を4人、4...
おすすめ情報