• ベストアンサー

find grep につきまして

いつもお世話になっております。 自サイトの、http://hogehoge.com/aaa/zzz.php?uid=xxx というリンクをfindとgrepを使って、 再帰的に検索したいのですが、 サンプルをおしえていただけませんでしょうか。 お手数をお掛けしますが、どうぞよろしく願いいたします。

  • uff-n
  • お礼率54% (47/87)

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

>具体的には、自前サーバーにsshでログインして、 >htmlまたはphp ファイルの中から、 ​>http://hogehoge.com/aaa/zzz.php?uid=xxx >(zzzは固定、xxxは動的で、既になんらか値が埋め込まれている状況です。 >(文字列としてuid=00-AA9zzのように) では、cdでファイルのある一番上のディレクトリに移動したとして find . \( -name "*.html" -o -name "*.php" \) -exec grep -H -E 'http://hogehoge.com/aaa/zzz.php\?uid=\w\w-\w+' \{\} \; ・-nameが複数あって、それがor条件なので\( \)でくくります。 ・grepで検索ファイル名を表示するため-Hオプションを指定します (ファイルを1つしか指定しない場合、デフォルトではファイル名表示がない) ・拡張正規表現を使うため-Eオプションを指定します。(または、egrepコマンドを使用する) ・?は正規表現で特別な意味を持つので、\?としてその特別な意味をキャンセルします ・例から、uidを [英数字2文字]-[英数字複数]と判断して\wを使用しました。この形式でない場合は適宜変更してください 最近ではfindで検索→xargsで処理というのも流行りです find . \( -name "*.html" -o -name "*.php" \) -print0 | xargs -0 grep -H -E 'http://hogehoge.com/aaa/zzz.php\?uid=\w\w-\w+'

uff-n
質問者

お礼

ありがとうございました。 解説つきでわかりやすかったです。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

・「自サイト」とは何を指してますか? ・その「自サイト」でfindやgrepが使えるような状態にできますか? (telnetやsshでログインするとか) ・検索対象は何ですか? ファイルならその書式は? 「http://hogehoge.com/aaa/zzz.php?uid=xxx」は、検索対象から探す「文字列」ですか?それとも、検索対象そのものですか? zzzやxxx等は固定でしょうか? ・リンクというのは <a href=~>ということでしょうか? あまりにも曖昧すぎて、サンプルを示しようがありません。 たとえば、 ・自前サーバーのhtmlファイルから <a href=~>を検索 と ・レンタルサーバーでPHPで動的に作成されるwikiやブログから検索 とでは、まったくやりかたが違います。

uff-n
質問者

補足

ご連絡ありがとうございます。 ・自前サーバーのhtmlファイルから <a href=~>を検索 を検索したいです。 具体的には、自前サーバーにsshでログインして、 htmlまたはphp ファイルの中から、 ​http://hogehoge.com/aaa/zzz.php?uid=xxx​ (zzzは固定、xxxは動的で、既になんらか値が埋め込まれている状況です。 (文字列としてuid=00-AA9zzのように) 説明が、下手で申し訳ございません。 これで、伝わりますでしょうか。

関連するQ&A

  • PHPでの値の受け渡し

    PHPで hogehoge.com/index.php?mode=aaa とするとき hogehoge.com/?mode=aaa ではアクセス可能なのですが これを hogehoge.com/aaa もしくは hogehoge.com/mode/aaa のようにアクセスするには どのようにすればよいのでしょうか? PHPだけでは出来ないかもしれないので他に方法がありましたら教えて頂けないでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • サブドメインへ固定IP

    普通はしないと思いますが、複数のサブドメインに異なる固定IPを割り当ててwebサーバを運用することは可能ですか?DNSの設定に疎いので教えてください。 ex) hogehoge.comというドメインがあってsample1、sample2というサブドメインそれぞれに固定IPを割り当てる。 sample1.hogehoge.com 180.xxx.xxx.80 sample2.hogehoge.com 50.xxx.xxx.51

  • トップページの前に期間限定のトップページ

    表題の件ですが、 http://www.hogehoge.com/ へアクセスした人を トップページ(index.php)の前に期間限定のトップページ(2013.php)を表示させたいのですが、htaccessで 2013.phpを優先にしてしまえば、2013.phpが最初に表示されますが、そこから、index.phpに移動したあと、Home へリンクすると、http://www.hogehoge.com/index.phpへリンクしたいのですが、 再度、http://www.hogehoge.com/2013.phpが表示されてしまします。 最初にアクセスしたら http://www.hogehoge.com/2013.php その中から、 http://www.hogehoge.com/index.phpへ移動して、 あとはhttp://www.hogehoge.com/へアクセスしても、 http://www.hogehoge.com/index.phpが優先で表示させる方法は無いのでしょうか? 恐れ入りますが、お分かりになられる方ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • ゾーンファイルの書き方について

    正引きゾーンファイルの書き方について質問です。 自ドメイン:example.com レンタルセカンダリDNSサーバー:ns.hogehoge.com のレコードを書く際、NSレコードは IN NS ns.example.com. IN NS ns.hogehoge.com. で問題ないですが、Aレコードにns.hogehoge.comを書くべきなのかどうかがわかりません。 ns IN A xxx.xxx.xxx.xxx ns.hogehoge.com. IN A yyy.yyy.yyy.yyy example.comのゾーンレコードにns.hogehoge.comのAレコードを書いても意味がないと思うのですが、 ・書くのが正しいのか、書かないのが正しいのか ・その理由 についてお教えいただけませんでしょうか。 自分なりに調べたのですが、ns.hogehoge.comのAを書くことになっている例を見つけたりして、よくわかりませんでした。

  • URLのパラメータを取得しリンクに渡すには?

    Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。 例えば、現在のURLが、 http://www.hogehoge.com/hoge.php?page=hoge1だとします。 そのページに、様々なリンクがあるとします。 <リンク例> http://www.hogehoge.com/moge/moge.php http://www.hogehoge.com/boge/boge.php http://www.yahoo.co.jp/auctionxx.html このうち、/moge/以下のページへのリンクにのみ、自動で現在のURLのパラメータを渡したリンクにしたいです。 つまり、 http://www.hogehoge.com/moge/moge.php ↓ http://www.hogehoge.com/moge/moge.php?page=hoge1 というリンクにしたいです。 当然現在のURLにパラメータが存在しない場合は、そのままのリンクになります。 また、他のディレクトリや他のドメインのサイトにはパラメータを渡さず、変更せずにそのままのURLのリンクにしたいです。 <リンク例> http://www.hogehoge.com/moge/moge.php ○変更 http://www.hogehoge.com/boge/boge.php ×変更なし http://www.yahoo.co.jp/auctionxx.html ×変更なし よろしくお願いします。

  • htmlのリンクについて(Apache)

    http://hogehoge.com/test/ にアクセス中に<a href="/index.php">リンク</a> と言ったようなリンクを踏んだ場合 本来なら/hogehoge.com/test/index.phpに遷移されると思うのですが 何故か/hogehoge.com/index.phpに接続されます。 http://hogehoge.com/test/test1/test2/から <a href="/index.php">リンク</a>で飛んだとしても /hogehoge.com/index.phpに接続されます。 以上の事から常にドメイン配下のindex.phpに接続されるようなのですが。 JS側やphpで制御されているようにも見えないのですが、 Apache側でこういった制御は可能なのでしょうか? 想定できるシステムとしてはどのようなものがございますか?

    • ベストアンサー
    • HTML
  • ドメイン名のみの場合、名前解決できない

    CentOS5 Bind9です。 Bindでdns設定をしているのいるのですがドメイン名のみの場合 名前解決できずに困っています。 具体的にはホスト名をつけた場合 nslookup www.hogehoge.com → Non-authoritative answer:    Name: ns.hogehoge.jp    Address: xxx.xxx.xxx.xxx と名前解決できますが、ドメイン名のみの場合 以下のようになってしまいます。 nslookup hogehoge.com → Non-authoritative answer: *** Can't find hogehoge.com: No answer conf zone の設定含め確認点などあればご指摘ください。

  • こんなことが、できるのでしょうか?

    すみませんが、教えてください。 (自分で少し考えた結果、無理のような気がするのですが) htmlでは、別のページへリンクを貼る場合、 下のようにすれば、行を指定して、リンクを張ることができます。 リンク元ページ(hoge.html) <a href="hogehoge.html#aaa">移動</a> リンク先ページ(hogehoge.html) <a name="aaa">ここへ場所</a> リンク先が、hogehoge.phpの場合、行を指定してリンクを貼れないのでしょうか? 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Perl で File::Find できない

    Perl 初心者です。Windows 上で、親ディレクトリを ARGV に引き渡してすべてのサブディレクトリを再帰的に処理するスクリプトを作成しましたが、名前に「表」の漢字が含まれているディレクトリだと、処理が失敗します(その他のディレクトリでは正常に動作します)。調べたところ、以下のサイトで指摘されている問題らしく、いろいろと書き直しては見たのですがうまく動きません。ご教示いただけないでしょうか。 参照したサイト -------------- 「WindowsのPerlで日本語パス名を処理すると0x5C文字でつまずく」 http://raven.air-nifty.com/night/2009/12/windowsperl0x5c.html 作成したスクリプト(抜粋) ------------------------- my $top_dir = $ARGV[0]; find( \&hogehoge, $top_dir );

  • シェルスクリプトにてファイルの結合

    お世話になります。 ある3つのファイルfile1 file2 file3 の内容が file1が 111 222 333 file2が aaa ddd bbb eee ccc fff file3が xxx yyy zzz という内容を file4に 111 aaa ddd xxx 222 bbb eee yyy 333 ccc fff zzz という具合に横に結合させて出力させたいのですが どうしていいか分かりません。 sedとかawkを使えばいけそうなんですが 分かる方いらっしゃいませんか??? 宜しくお願いいたします。