本日も乙スマートフォン用の表示で見る本日も乙ただの自己満足な備忘録。仕事でバージョン管理にMercurialを使っています。locate」コマンドを使うのですが、パターンを絞ってファイル一覧を取得したかったので、include,excludeオプションについて調べたことを書き留めておきます。ヘルプを見ると、Mercurialで管理されているファイル郡で特定パターンに一致するファイルを探すコマンドと書いてあります。optionsデフォルトでは(Mercurial管理範囲内の)ディレクトリ内全てのファイルを探すのですが、includeオプションやexcludeオプションを使うことでパターンを絞ったり除外することができます。[/plain]サンプルファイルこれらのオプションを理解するために以下のようなサンプルファイルを作成してみます。ファイル作成時にすでにリポジトリに登録しているものとします。locate当然のことながらリポジトリに登録されているファイルすべてが表示されます。locate1.html1.php2.html2.php3.html3.php7.txtfuga/11.htmlfuga/12.phpfuga/13.jsincludeオプションを使うまず、「.html」を含むファイルのみを表示させます。'glob:**.html'1.html2.html3.htmlfuga/11.html2つのコマンドの違いが分かりますでしょうか。1つ目のパターンが「'glob:*.html'」で、2つ目のパターンが「'glob:**.html'」で「*」が1つだけ異なります。適応されるのは実行されたディレクトリ内だけです。したがって、fuga以下のファイル(11.html)は合致しません。2つ目のパターンでは、「**」は「*」とほぼ同じですが、全ディレクトリに適応されます。したがって、fuga以下のファイル(11.html)も合致します。ディレクトリを絞る場合は以下のようにします。'glob:**fuga**.html'fuga/11.html次に、「.html」と「.php」を含むファイルのみを表示させます。'glob:**.{html,php}'1.html1.php2.html2.php3.html3.phpfuga/11.htmlfuga/12.php「{...,...}」というパターンになりましたが、この中に含まれている文字列がいずれかが合致すれば、全体が合致させるパターンです。条件分岐でいうと「OR」みたいなものですね。次は、拡張子が2文字のファイルを表示させます。'glob:**.??'fuga/13.js「?」は単一の文字に合致させるパターンです。この場合、「??」なので任意も2文字なら何でも合致します。excludeを使うにはincludeと同じなので省略します(笑)。月別アーカイブはてなブログをはじめよう!ohsawa0515さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。