• ベストアンサー
  • 困ってます

shellで16桁の数字が含まれるファイルをリストアップするという処理

shellで16桁の数字が含まれるファイルをリストアップするという処理を作ろうとしています。 システムの全ファイルを対象にするので、短時間で処理を終えたいです。 アイデアだけでも良いのでお力添え宜しくお願い致します。 動作環境はUNIXです。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1180
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.1
  • D-Matsu
  • ベストアンサー率45% (1080/2394)

「含まれる」のがファイル内かファイル名かが不明ですが、ファイル名なら find / -type f | grep \d{16} で、ファイル内なら find / -type f -exec grep -l \d{16} {} \; とか。 #試してないので動作は保障しませんが

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 おかげさまでできました。 find / -type f -exec grep -l '[0-9]\{16\}' '{}' \;

関連するQ&A

  • shellのコンパイルファイルの見分け方

    いつもお世話になっております。 shellプログラミング(bash)で質問なのですが、 C由来のcgiファイルとperl由来のcgiファイルが混在している環境で perl由来のcgiファイルのみに処理を行うことを想定しております。 そのため、C由来のcgiファイルを除外する必要があるのですが、 除外するための方法(条件式等)ご存知でしたらご教授頂けないでしょうか。 宜しくお願い致します。 if [-f FILENAME] では除外できないですよね…

  • Shell関数の終了を調べる方法

    Shell()関数を使ってほかのアプリケーションを起動し、終了を待つというよくある件なのですが、 ちょっと古くて、VB4.0の16ビット版による開発で、 動作環境はWindosXP(32ビット)です。 下記のように記述していますが、Shellの戻り値が&HFFFFを超えるためか、うまくいかないときがあります。 Private Declare Function GetModuleUsage Lib "Kernel" _ (ByVal hModule As Integer) As Integer Private Sub Command1_Click() Dim hInst As Integer hInst = Shell("calc.exe", vbNormalFocus) While GetModuleUsage(hInst) <> 0 DoEvents Wend MsgBox " 終了しました ", vbInformation End Sub ただしWindows98でも動作する必要があるので、32ビットにしてしまうというのはなしです。 どのようにしたらうまくいくのでしょうか? アドバイスください。お願いします。

  • openofficeでhtmlファイルをeucコードでの取り込む

    ■動作環境 openoffice2.3 winXP ■質問とお願い openofficeでHTMLファイルを取り込むと文字化けして、 htmlファイルのレイアウトも崩れてしまってるようです。 この様な場合、どのように処理して、取り込めば 良いのでしょうか? オフィス系ソフトは年に1、2回 しか使わない為、基本的な部分のみ解る程度ですが それでも教えてくださるかたお願いします。

その他の回答 (1)

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

ちなみに、grepの正規表現では、 \dに「数字」という特殊な意味はなく、{}も特殊文字ではない。\はシェルで解釈されてしまうので'でくくって grep '[0-9]\{16\}' または grep -E '[0-9]{16}' または egrep '[0-9]{16}' が正解。 他に出てない条件として、 ・きっちり16桁なのか、16桁以上あればいいのか きっちり16桁なら、前後が数字でない(先頭/末尾か数字でない文字)ことも確認しないと grep '\(^\|[^0-9]\)[0-9]\{16\}\($\|[^0-9]\)' または grep -E '(^|[^0-9])[0-9]{16}($|[^0-9])' または egrep '(^|[^0-9])[0-9]{16}($|[^0-9])'

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 おかげさまでできました。 find / -type f -exec grep -l '[0-9]\{16\}' '{}' \;

関連するQ&A

  • intの数字をtimestampに変換したい

    php5,mysql5.1の環境です。 mysqlのフィールドにint(11)でunix timestampを挿入しています。 その11桁の数字の羅列をunixのタイムスタンプ形式に変更したいのですがどのようにすればよいのでしょうか。 うまく説明できないのですが、その11桁の数字はタイムスタンプとしてphp側で処理できないのでしょうか。 mysqlの種別カラムにおいて、int(11)とtimestampは同一のデータとして処理できないのでしょうか。

    • ベストアンサー
    • PHP
  • Shell関数実行直後の問題

    Eexcl2003 VBにて、Shell関数を実行しました。 Shell関数によるトラブルは無いのですが、 Shell関数実行指示後の構文で、 Left/Mid/Right/Date/Timeの構文部が実行時エラーになります。 対象Eexclファイルを閉じ、再度開き、Shell関数部分を削除して、 マクロを実行すると、上記関数は正常に作動します。 解決策が想い浮かばないので、先達たちに教えを乞います。 宜しくお願いします。

  • excel vba リストアップ?

    超初心者です。 テキストファイルからEXCELへデータを取り込み、ある列のデータより項目を抽出し、コンボボックスへリストアップしたいです。    A列 1.りんご     コンボボックス内に 1.りんご      1.りんご 1.りんご      2.みかん 2.みかん   →  5.なし   2.みかん      10.ぶどう 5.なし        と表示させたい 10.ぶどう 10.ぶどう  ・  ・ なお、A列のデータは毎回変動します。 A列のデータには頭に数字がついており、事前に昇順で並べ替えて あります。 現在、ループを使い、1列ごとに抽出していますが 動作時間の短縮を図りたくて修正しているところです。 ループを使わず、一度に処理できる方法があれば教えてください。 説明がわかりづらいときはすみません。。。

  • Xの2乗を表記したい

    数値の2乗をタイプするにはどうしたらいいでしょうか? 動作環境はOS=UNIX, エディター=emacsです。

  • [バッチファイル]指定ファイルをサブディレクトリを含み検索・処理する

    ■WindowsXP Pro SP3 ■ディレクトリ構造 カレント ├ディレクトリ1  ├サブディレクトリ1-1   ├対象ファイル1-1  ├サブディレクトリ1-2   ├対象ファイル1-2 ├ディレクトリ2  ├サブディレクトリ2-1 ・ ・ ・ このような状態で指定したファイルすべてを見つけ出し、1つ1つ処理を行っていくバッチファイルの書き方を教えて頂きたいです 具体的には、指定する対象ファイルというのがmpeg2ファイルで、そのmpeg2ファイルをすべてFFmpegを用いてmpeg1へ変換しinputと同一ディレクトリに出力するといった動作です 考えた流れはこんな感じなのですがどうにもうまく動作しなくて困っています ディレクトリ1 ディレクトリ1内のサブディレクトリ1-1 サブディレクトリ1-1内の対象ファイル1-1を見つける 見つかったときはFFmpegの処理をする FFmpegが処理し終わったら次の対象ファイルを探す FFmpegの記述は FFmpeg.exe -i "input_file" "output_file" のような感じなのでパスや相対指定を使えば理想通りの動作をすると思うのですが、いま一つ書き方がわかりません

  • VBのshellについて。

    すみません。教えてください。 環境OS:winXP ソフト:VB6.0 sp5 内容:shellを利用してbatファイルをキックさせようとしていますがうまくいかないのです。 --VBソース-- Str = "C:\program file\SOFT\test.bat" & "/w" nR = shell(Str,1) -- batファイルの中身-- @echo dir %1 > "C:\Program File\SOFT\log.txt" 以上のデータなのですが、EXEを作成し、Shellを起動するとエラーが帰ります。 確認したところ、windows2000では問題ないのですが、XPではProgram Fileのスペースが問題で、エラーになってしまうのです。 教えていただきたいのは、 1.本当にXPではスペースのあるディレクトリ名はエラーになるのかということ。 2.もしエラーになるのであれば、対応策。 の上記の2点を教えてくださいませ。 いろいろ試し、探しているのですが、なかなか見つからず困っています。 XPのみできないっていうのも半信半疑だし・・・・ お願いします。

  • サーバ内のファイル数による処理影響について

    会社で、WindowsServer2008を使って約80名位でファイルの共有などを行っています。 現在、共有データ内は50万ファイルで150GBくらいなのですが、特に動作が遅いと いうことはありません。 この中に写真データも一緒に管理したいと思うのですが、処理速度が遅くなるということ があるのでしょうか?置く場所は、上記の共有データフォルダ内になりますが、共有 データフォルダは、Dドライブに設置してあります。システムや、他のアプリケーション とは違うドライブに置いてあります。 また、写真データは、ほとんど保存しておくだけで特に頻繁に開いたりすることはありません。 容量は、過去5年で10万ファイル、200GBくらいです。 これを共有フォルダに入れると、処理が遅くなったりしますでしょうか? よろしくお願いいたします。

  • 秀丸のファイルヒストリ個数を21以上に増やすことってできないのでしょう

    秀丸のファイルヒストリ個数を21以上に増やすことってできないのでしょうか。 動作環境 -> ファイル -> ヒストリ -> ファイルヒストリ個数の ファイルヒストリ個数を21以上に増やすことっていうのはできないものなのでしょうか。 できれば増やしたいのですが。。 もし方法がありましたら教えていただけましたら幸いです。

  • バッチ運用の仕様を時系列?に纏めたい

    いつもお世話になっています。 現在ファイル操作を主としたバッチ(unix,shell)を組んでいます。 機能別に用意されたシェルを順々に呼び出して、そのお互いの連携 により処理を実現していますが、構造が複雑になり、管理が大変に なってきました。 上記を整理するため、何か資料に纏めたいと思っているのですが なかなか思うような資料を作れません。 独立して順々に動作するので時系列で纏めるべきかとおもうのですが・・ なにかヒントになるものがいただければ幸いです。 宜しくお願い致します。

  • ~/HOME/.emacs ファイルが見つかりません

    最近Red Hat 7J をインストールしました で、Emacsをたちあげてカスタマイズしようと したところホームディレクトリに.emacsファイルが みあたらないんですが名前とか場所が変わってしまったのでしょうか? 動作環境はGNOME1.2.1でrootでうごかしています。