• ベストアンサー

文字列検索(grepのようなもの)のCソースコード知りませんか?

Cソースコードを探しています。文字列検索用のコードです。UNIXのgrepみたなことができればと思います。 ご存知でしたら教えてください。お願いします。

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.4

OpenSolarisとFreeBSDのソースツリーを調べてみましたが、これらは GNU grep (2.5.1) をシステムのgrepとして使っているようです。 GNU grep ならそこら中でミラーリングもされていると思うので場所は挙げません。 UnixでないとGNU grep をコンパイルして使うというのはちょっとハードルが 高いかもしれませんが、GNU grepで何か問題があるようならまた書いてください。 規模の小さなものなら vector にも幾つかあります。

diamondapple
質問者

お礼

どうもありがとうございます。

その他の回答 (3)

noname#18851
noname#18851
回答No.3

正規表現を処理する実装の勉強を されているのでしょうか。 私はC言語(POSIX準拠)で正規表現をつかう場合、 regex.hをインクルードします。 このライブラリのソースコードも 参考になるかと思います。 どこのサイトで公開されているのか 私自身知らないので申し訳ないですが。

diamondapple
質問者

お礼

どうもありがとうございます。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

質問があります。 文字列検索のコードとのことですが、それはプログラムになっている必要がありますか? それとも自作のプログラムに組み込むライブラリ関数ですか? 正規表現は必須でしょうか? あと、マルチバイト文字も扱えなければならないといった条件はありますか?

diamondapple
質問者

補足

ご質問ありがとうございます。 (1)プログラムです。 (2)検索文字はa-z,0-9,A-Zです。

  • meenie
  • ベストアンサー率44% (40/90)
回答No.1

GNU grepでしたらソースコードは公開されています。 検索なさればすぐに見つかるでしょう。 一例を挙げますと、ベクターにSolaris用のgrepのソースがあります。

diamondapple
質問者

お礼

どうもありがとうございます。

関連するQ&A

  • LINUXで半角の英数字以外の文字列をgrep検索したい

    LINUXで半角の英数字以外の文字列をgrep検索したい たとえば a!3" とか 30%(under_s) とか grepでもなんでもよいですが上記のような半角英数字以外の文字列を検索できますでしょうか。 grep -c で、半角英数字以外の文字列があるかどうか確認したいです。 よろしくお願いします。

  • Emacsでの開発における文字列検索

    UbuntuでEmacsを使ってC言語のプログラミングをしようとしてるのですが、 ソースコード内の変数等の文字列に対して、 その定義場所にジャンプしようとしたり、 特定のフォルダ内でその文字列を検索しようとする場合、 どんな方法がよく使われるですか?Emacsのgrepですか? 今まではWindowsでIDEを使ってたのでほとんど何も知りません。 よろしくお願いいたします。

  • ファイルからある文字列の個数を数えたい

    perl5でunixの"wc"や"grep -c"みたいに1つのファイルの中からある文字列の個数を カウントするスクリプトを作ろうとしています。 ファイルは256文字×10万行くらいのテキストで、 検索する文字列は15文字前後×40個(例えば「apple-000001」「lemon_orange」など)です。 どのようなスクリプトを組んだら効率よく各文字列をカウントできるのでしょうか? それよりwcやgrep -cを40回行った方が早いのでしょうか?

    • ベストアンサー
    • Perl
  • Googleのソースコード検索(http://www.google.c

    Googleのソースコード検索(http://www.google.com/codesearch?hl=ja)で、 FreeBSDのコマンドのソースコードを探しています。 検索結果からソースコードを表示させようと、クリックするのですが、 ページでエラーが発生して表示させることができません。 例えば、言語:C、パッケージ:FreeBSD、ファイル:grep として検索して出てきた結果が開けません。 Windows XPでInternet Explorer8.0です。 なにか問題があるのでしょうか? 教えてください。 よろしくお願いします。

  • grepコマンドでの文字列検索

    grepコマンドについて質問です。 grepコマンドでCSVファイルを参照し、ある項目に特定の文字列でないものがあれば、そのファイル名を取得する処理をしたいと思っています。 つまり、ある項目を$strとすると $str <> 'aaaaaa' という処理をgrepで行おうと考えています。 現状では、 grep -l '^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^(aaaaaa)]' ファイル名 等を試していますが、[^(aaaaaa)]だと一文字目しか判別できていないようです。[^a{6}]などもうまくいきません。 何かいい方法があれば教えて頂きたいと思います。 宜しくお願いします。

  • grepで検索文字列が完全一致した行だけ取り出す方法

    grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか? 通常は grep hoge hoge.txt と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。 例えばhoge.txtの中に cc ghoge kkl hogem jjll hoge という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。 何かよい方法があれば教えてください

  • 複数の文字列を検索

    あるログファイルの文字列を取得して。検索でヒットした文字列行 を返すスクリプトを作成しております。 検索:"OK"    日付 対象行 : OK! Tue Jul 19 文字列"OK"は普通に # grep "OK" ログファイルPath で検索できますが、 文字列と日付を両方引っ掛ける場合は・・・ grep -e "OK" -e env LANG=c date -u +"%a %b $d" ログファイルPath 当然コマンドエラーになります。 dateコマンドから日付を取得して、grepにて引っ掛ける方法を知りたいので すが、お分かりになる方、ご教授お願い致します。

  • ソースの文字コードについて

    ソースの文字コードについて今まで無頓着でした。 しかし、ソースの文字コードがUTF8で統一されている プロジェクトを見かけたりして、本当は気にしなければ ならないのでは?と思いました。 (1)ソースの文字コードは統一すべきですか? (2)ソースの文字コードはUTF8が最適解ですか?(2008/3現在) (3)この話題を扱っている書籍はありますか? 少し調べたところによると、マジックストリング (文字列定数?)で問題が発生するようでした。

  • 含まれる文字列の検索

    ソースコードに「<title></title>」が含まれているhtmファイルを見つけるために、「スタート」→「検索」→「含まれる文字列の検索」に「<title></title>」を指定して検索しても、そのhtmファイルがヒットしません。 同じフォルダーをWin2000で同じ方法で検索するとヒットします。 「含まれる文字列の検索」の検索対象について何か設定があるのでしょうか?

  • DreamWeaver 文字列を含まないページ検索

    DreamWeaverを使って、特定の文字列が含まれていない ページを探すことはできますか。 例えば下記のような場合で 「あいうえお」と文字列が書かれていない 「C.html」を探す方法を探しています。 A.html ・・・ ソース内に「あいうえお」と書かれている B.html ・・・ ソース内に「あいうえお」と書かれている C.html ・・・ ソース内に「あいうえお」と書かれていない 検索してみましたが、解決策が見つからずここで質問させていただきました。 ご存じの方がいらっしゃいましたら、ご教授下さい。 よろしくお願いします。

    • 締切済み
    • CSS

専門家に質問してみよう