問題タブ [glob]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 「glob」タイプのパターンに相当するjava.util.regexはありますか?
Javaで「glob」タイプの照合を行うための標準(できればApache Commonsまたは同様に非ウイルス性)ライブラリはありますか?一度Perlで同じようなことをしなければならなかったとき、私はすべての「.
」を「\.
」に、「*
」を「 .*
」に、そして「 ?
」を「」に変更しただけ.
ですが、誰かが私のために働く。
同様の質問:グロブ式から正規表現を作成する
c++ - WindowsでのC++/Cでのグロブ
WindowsのCまたはC++でグロブするスムーズな方法はありますか?
たとえば、myprogram.exe * .txtは、... ARGV[1]=を含むARGVリストをプログラムに送信*.txt
します。
文字列を受け取り、それぞれにファイル名を含む文字列のベクトルを返す関数(readglobと呼びましょう)を作成できるようにしたいと思います。
このようにa.txt b.txt c.txt
、ディレクトリにファイルがあり、readglobが引数*.txt
を取得すると、上記のファイルリストが返されます。
そのようなものは存在しますか?
perl - Perl の glob が他の呼び出しごとに undef を返すのはなぜですか?
これを行うためのより良い方法を必ずしも探しているわけではありません。出力の説明をいただければ幸いです。最近、シニア プログラマーから、コードが 1 つのインスタンスしか機能しないのはなぜかと尋ねられました。私が見つけたのは、それが他のすべての出来事で機能したということでした. これが私の例です:
perl 5.004 の出力:
または perl 5.10 の出力:
私は個人的にこの方法で glob() を使用したことがないので、彼に答える準備ができていませんでした。私はperldoc globのドキュメントを読み、そのページのFile::Globリンクをたどりましたが、出力を説明するものを見つけることができませんでした。どんな助けでも大歓迎です。
php - PHPはファイルの相対パスをスキャンしません
これが私の現在のコードです(PHPでの最初の試みを非常に誇りに思っています)
問題は、glob がルート ディレクトリ (このスクリプトが配置されている場所) で再び正常に動作することですが、特定のフォルダーを指すと、0 個のファイルが見つかりました。
ディレクトリ構造を示す ftp クライアントからのスクリーン グラブを含めました (以下)。
だから私はグロブで何が間違っているのか混乱しています
www.markonsolutions.com/test.phpはスクリプトがある場所で、クリックすると 0 個のファイルが見つかりました
perl - グロブの結果がPerlでソートされるという保証はありますか?
glob(例)から返されるファイル名の配列がソートされるという保証はあります<*>
か?
ドキュメントでソートが何らかの形で言及されていることはわかりませんが、私が試したすべてのディレクトリに当てはまるようです。
私はこの構文の使用について話している:
ファイルを並べ替える必要がある場合、以下は冗長ですか?
perl - Perlでreaddirよりもglobを好む(またはその逆)理由は何ですか?
この質問は、これから派生したものです。いくつかの歴史:私が最初にPerlを学んだとき、私はそれがより簡単であると思ったので、ほとんど常に+glob
ではなく使用しました。その後、さまざまな投稿や読み物がそれが悪いことを示唆したので、今ではほとんどいつもを使用しています。opendir
readdir
glob
readdir
この最近の質問を考えた後、私はどちらか一方の選択の理由が二の次であるかもしれないことに気づきました。それで、私はいくつかの賛否両論をレイアウトするつもりです、そして私はより経験豊富なPerlの人々がチャイムを鳴らして明確にすることができることを望んでいます。一言で言えば、(一部またはすべての場合に)好むまたは好むやむを得ない理由があるかどうかというglob
質問readdir
です。readdir
glob
glob
長所:
- ドットファイルはありません(要求しない限り)
- アイテムの注文は保証されています
- ディレクトリ名をアイテムに手動で追加する必要はありません
- より良い名前(名前だけで判断する場合は、
glob
コンテストreaddir
ではありません) (ysthの回答から。以下の
/li>glob
短所4を参照)存在しないファイル名を返すことができます。
glob
短所:
- 古いバージョンは単純に壊れています(しかし、「古い」は5.6より前のことを意味します。率直に言って、5.6より前のPerlを使用している場合は、より大きな問題があります)
stat
毎回呼び出します(つまり、stat
ほとんどの場合、無駄に使用します)。- ディレクトリ名のスペースに関する問題(これはまだ本当ですか?)
(ブライアンの回答から)存在しないファイル名を返すことができます:
/li>
readdir
長所:
- (ブライアンの答えから)
opendir
プログラムで渡す(そして再利用する)ことができるファイルハンドルを返しますが、glob
単にリストを返します - (ブライアンの答えから)
readdir
は適切なイテレータであり、、、に関数を提供しrewinddir
ますseekdir
。telldir
- もっと早く?(上からのいくつかの機能に基づいた純粋な推測
glob
。とにかくこのレベルの最適化についてはあまり心配していませんが、理論的なプロです。) - エッジケースのバグが発生しにくいのは
glob
? - デフォルトですべて(ドットファイルも)を読み取ります(これも短所です)
- ファイルに名前を付けないように説得するかもしれません
0
(短所もあります-ブラッドの答えを参照してください) - 誰?ビュラー?ビュラー?
readdir
短所:
- ディレクトリ名の前に付けるのを忘れた場合は、ファイルテストを実行したり、アイテムをコピーしたり、アイテムを編集したりするときに、ビットが表示されます...
- とアイテムを忘れて
grep
しまった場合は、アイテムを数えるか、ファイルツリーを再帰的に下って行くか....
..
- ディレクトリ名の前に付けることについて言及しましたか?(補足ですが、Perl Beginnersメールリストへの私の最初の投稿は、この落とし穴に関連する古典的な「ファイルテストを含むこのコードが機能しないのはなぜですか?」という問題でした。どうやら、私はまだ苦いです。)
- アイテムは順不同で返送されます。これは、多くの場合、何らかの方法でそれらを並べ替えることを覚えておく必要があることを意味します。(これは、速度が向上し、実際にアイテムを並べ替える方法と必要性について考えることを意味する場合、プロになる可能性があります。)編集:恐ろしく小さいサンプルですが、Mac
readdir
では大文字と小文字を区別せずにアルファベット順にアイテムを返します。DebianボックスとOpenBSDサーバーでは、順序は完全にランダムです。私はAppleの組み込みPerl(5.8.8)と自分でコンパイルした5.10.1を使ってMacをテストしました。Adobeボックスは、OpenBSDマシンと同様に5.10.0です。これはPerlではなくファイルシステムの問題なのだろうか? - デフォルトですべて(ドットファイルも)を読み取ります(これもプロです)
- 名前の付いたファイルを必ずしもうまく処理できるとは限りません
0
(プロも参照してください-ブラッドの回答を参照してください)
perl - グロブは存在しない「ファイル名」をどのように返しますか?
この回答は、グロブが存在しない「ファイル名」を返す場合があることを示しています。
ただし、そのコードを実行すると空のリストが返されます。
私は何が欠けていますか?
この実行は、ActiveState Perl バージョン 5.005_02 を使用した Windows XP で、-e を使用してコマンド プロンプトから実行されました。同じマシンに保存されたスクリプトから実行すると、同じ結果が得られます。
ActiveState Perl v5.8.7 を使用して Windows XP で -e を指定して実行すると、配列が返されます。
regex - Vim の正規表現とグロビングによる繰り返しの検索
少なくとも 30 個の数字の繰り返しシーケンスを見つけるにはどうすればよいですか?
データのサンプル
Vimでの私の試み
最初のグロブを否定する方法がわかりません。
bash - Bash グロビング - いくつかの特定のケースで自動展開しますか?
ワイルドカード*
(それ自体) は、「現在のフォルダー内の非表示でないすべてのファイル」を意味するように展開され、非表示のファイルはピリオドで始まるファイルであることを理解しています。
便利だと思うユースケースが 2 つありますが、適切に行う方法がわかりません。
どうすればグロブできますか...「現在のフォルダー内のすべてのファイル。隠しファイルを含みますが、
.
またはを含みません..
」?どうすればglobできますか...「現在のフォルダー内のすべての隠しファイル(および隠しファイルのみ)。ただし、またはを含ま
.
ない..
」?
perl - /home/test-N.txtのようなすべてのファイルに一致するPerlグロブ式はどれですか?
私はPerl構文の初心者であり、基本的なワイルドカードの質問があります。次のすべてのファイルを取得できる式を探しています。
ファイルI/Oではなく、実際のワイルドカード式に関心があります。