ワイルドカードでファイルの種類を指定

id:utadaq:20070321:1174481679

特定のディレクトリ以下のファイルを全部読み込む

**が再帰的に展開される機能は、zshだけじゃなかったかな?と思って、bashで試したら、bashでも機能した。


zshのワイルドカードでは、更に*(/) とか *(.) *(*) とかも指定可能です。

$ echo tmp/**/*(.)

これで通常ファイルのみを展開するとか。

$ echo tmp/**/*(*)

これで実行可能ファイルのみを展開するとか。

覚えきれない程あるみたいです。

使える指定には以下のようなのがあります

* /:ディレクトリ

* @:シムリンク

* .:通常ファイル

* ^:否定

追補:以下の指定もできるらしいですが、私は使ったことがありません。

* *:ディレクトリでない実行権のあるファイル

* r:読み込み権のあるファイル

* w:書き込み権のあるファイル

* x:実行権のあるファイル

* R:他人に読み込み権のあるファイル

* W:他人に書き込み権のあるファイル

* X:他人に実行権のあるファイル

* f値:値で指定したアクセス権のファイル

* U:自分が所有するファイル

* G:自分が所属するグループのファイル

* u値:値のユーザが所有するファイル

* g値:値のグループが所有するファイル

* s:setuidされたファイル

* -:次の指定にシンボリックリンクを含む

* =:ソケット

* p:名前付きパイプ(FIFO)

* ^:それ以降の指定の否定

http://q-eng.imat.eng.osaka-cu.ac.jp/~ippei/unix/?UNIX%BA%A3%C6%FC%A4%CE%B5%BB%2Fzsh#l9

全部使いこなしたら、find使う頻度が減るな。(無理だけど)

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.