行数ごとにファイル名を検索し並び替える方法

このQ&Aのポイント
  • 行数ごとにファイル名を検索し、新しいファイルに書き出す方法について教えてください。
  • 数千のファイル名が書かれたテキストファイル(A)とユニークなファイル名が書かれたファイル(B)があり、Bの各行をAで検索して結果を新しいファイル(C)に書き込みたいです。
  • シェルを使って上記の処理を行う方法を、詳しく教えてください。
回答を見る
  • ベストアンサー

行数ごとに検索をかけて並び替えをしたいのですが・・

数千のファイル名が書かれたテキストファイルがあります。(Aとします。) /yyy/ccc.txt /aaa/aaa.txt /bbb/bbb.txt /sss/aaa.txt /ccc/bbb.txt /zzz/ccc.txt ・ ・ ・ ユニークファイル名だけ書かれたファイルがあります。(Bとします。) aaa.txt bbb.txt ccc.txt ・ ・ ・ Bの行数1行ずつAで検索をかけ、ファイル名を新しいファイル(Cとします)に書き出したいのです。 /aaa/aaa.txt /sss/aaa.txt /bbb/bbb.txt /ccc/bbb.txt /yyy/ccc.txt /zzz/ccc.txt ・ ・ ・ シェルを使ってやりたいのですが、どのようにすればいいのか見当もつきません。 どなたかお分かりのかたいましたら教えてください。よろしくおねがいします。

  • _ebi_
  • お礼率57% (8/14)

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

以下のシェルスクリプトをファイルに保存し、chmod +xで実行権をつけて実行してみてください。A,B,Cのファイル名は本当の名前に変えてくださいね。 #!/bin/sh cat /dev/null > C for fn in `cat B` do grep ^.*/$fn A >> C done

_ebi_
質問者

お礼

回答ありがとうございます。 シェル作成は全く初めてで・・助かりましたっ!

関連するQ&A

  • 行数ごとに検索をかけて並び替えをしたいのですが・・(再投稿です)

    QNo.2658731 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2658731 上記の件、解決したと思ったのですが問題が発生したので再投稿します。申し訳ございません。 こちらデータの吐き出しには成功はしたものの、重複があり困っています。正規表現の問題だとは思うのですが・・。 (空白があるものも別として数えたい) あと、分けるときに区切りをつけたいのですが、うまくいきません。 単純にエディタで区切りを記入するだけではだめなのでしょうか。 (下記のようにしたいのです・・。) /aaa/aaa.txt /sss/aaa.txt ---------------------------------- /bbb/bbb.txt /ccc/bbb.txt ---------------------------------- /yyy/ccc.txt /zzz/ccc.txt ---------------------------------- お手数ですが、お時間に余裕のある方教えていただけますでしょうか。 よろしくお願いいたします。

  • 要素名を表示させたい

    <data>   <aaa xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </aaa>   <bbb xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </bbb>   <ccc xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </ccc> </data> 上のようなXMLから、XSLのvalue-ofなどを使って、 要素名aaa、bbb、cccを表示させるにはどう記述すればいいのでしょうか?

    • ベストアンサー
    • XML
  • awkで二つのファイルを比較し出力する方法

    UNIXで二つのファイルを使って別ファイルを出力する 処理をしたいのですが、awkで二つのファイルを扱う方法 が分かりませんでした。 やりたい処理は以下のような事です。 ファイルAの1行目"AAA B"と同じ行がファイルBにあったら、ファイルAの"AAA B"の次の行に、 ファイルBの次の行"YYY bbb"を挟み込みます。 もし、ファイルBに同じ行がなかったら、 ファイルAの次の行に"NG"を挟み込みます。 [ファイルA] AAA B ZZZ B AAA C ZZZ C AAA D ZZZ D [ファイルB] AAA B YYY bbb AAA C YYY bbb [出力ファイル] AAA B YYY bbb ZZZ B AAA C YYY ccc ZZZ C AAA D NG どなたか良いスクリプトありましたら 教えていただけないでしょうか。 よろしくお願いします。

  • powershellのファイル名が同一検索

    とある同一フォルダ内に ファイル名 AAA-bbb.txt AAA-ccc.txt 等のファイルがあります。 AAAをキーとして、更新日時が最新の分を 読み込みたいと考えています。 どのように行えばいいのでしょうか。 よろしくお願いいたします

  • shellのコマンド deffの差分の行数を出力する

    diff結果の差分の行数を出力するコマンドを教えてください。 たとえばaaa.txtとbbb.txtのdiff比較をした場合 aaa.txtから見たbbb.txtとの差分の行数 bbb.txtから見たaaa.txtとの差分の行数 よろしくお願いいたします。

  • EXCELで複数行の検索

    初心者です。 Aファイルのaaa、bbbなどをキーに Bファイルを検索してできるだけ簡単にマクロ等使わずに 下記のような抽出をする方法があれば教えてください。 よろしくお願いします。 Aファイル aaa bbb ccc Bファイル(例えば「ddd」と「あ」は別セルです) ddd あ eee い aaa う fff え bbb お ggg か ccc き 結果 Aファイル aaa う bbb お ccc き

  • カレントフォルダ以下のファイルの検索と結合バッチファイルの記述のしかたを教えてください。

    初心者です。 バッチファイルを作りたいのですが、 記述方法を教えていただきたいのです。 1のフォルダに、 ・aaa.txt ・bbb.txt ・ccc.txt があり、 2のフォルダにも ・aaa.txt ・bbb.txt ・ccc.txt があるような構造で、そのようなフォルダは複数あり、 それぞれaaa.txt bbb.txt ccc.txtが入っています。 これを、最終的には 同じファイル名は1ファイルにまとめて tougou_aaa.txt というテキストを作りたいと思っています。 まとめたテキストの中は、フォルダ1~複数(数は場合により違います)のaaa.txtが縦にずらっとくっついた状態です。 これを、b c d f~(ファイルの数も場合により異なりますが、上限はあり、ファイル名も固定です。)ファイルまですべて行い、 tougou_bbb.txt tougou_ccc.txt なども一度にできてほしいのです。 わかる方がいらっしゃれば、何卒宜しくお願い致します。

  • 並び替えで教えて下さい。

    並べ替えで悩んでます。ご教授下さい。 下記のようなA、B、Cというフィールドがあり それぞれデータが入っているとします。 取得する際の並び替えですが、 A B C --------------------- aaa 1 6 bbb 1 5 ccc 1 4 aaa 2 4 bbb 2 6 ccc 2 5 ORDER BY Aとすると・・・ aaa 1 6 aaa 2 4 bbb 1 5 bbb 2 6 ccc 1 4 ccc 2 5 ORDER BY Bとすると・・・ aaa 1 6 bbb 1 5 ccc 1 4 aaa 2 4 bbb 2 6 ccc 2 5 ORDER BY Cとすると・・・ aaa 2 4 ccc 1 4 bbb 1 5 ccc 2 5 aaa 1 6 bbb 2 6 となります。 私がやりたいのは下記の順で並べ替えしたいのです。 ccc 1 4 ccc 2 5 bbb 1 5 bbb 2 6 aaa 1 6 aaa 2 4 つまりORDER BY B、Cの結果の1つ目のレコードの AでGROPE BYするような感じです。 方法をご教授頂きたいと思います。 よろしくお願いします。

  • 1つのセルに複数のハイパーリンク(改)

    二重投稿申し訳ありません。 あせり過ぎてて、アプリ名書き忘れてました エクセル2003で1つのセルに複数のハイパーリンクを設定することは可能でしょうか? たとえば、1つのセルに AAA,BBB,CCCと表示されていて AAAをクリックしたらhttp:xxxへ BBBをクリックしたらhttp:yyyへ CCCをクリックしたらhttp:zzzへと言った様に

  • ファイルから検索条件を読み込んでGREPを実行したい

    INPUTファイルを以下のように作成します。 >input.txt aaa bbb ccc ・ ・ ・ 特定のディレクトリの複数ファイルに対して grepを順にaaa,bbb,ccc・・・ というようにinput.txtから読み込んで実行し、結果をそれぞれaaa.txt,bbb.txt,ccc.txt・・・ へ出力したいのですが、方法がわからなくて困っています。 どなたかご教授お願いいたします。

    • ベストアンサー
    • Perl