findコマンドでファイル一覧を取得し指定した拡張子のファイル一覧を抽出したい場合の使用例を記します。
以下のようにfindでファイル一覧を取得し、grepで拡張子がtxtのものを表示しています。
find . | grep '\.txt$'
これをfindコマンドのみで記す場合は以下のようになります。
find -name \*.txt
よって、以下のような構文になります。
find ディレクトリ \*.拡張子
以下に実行例を記します。
sakura@cygwin ~$ find . -name \*.c ./const.c ./nanko/nanko/nanko.c ./sample/sample1.c ./sample/timet.c
上記では、txtのみの例を記しましたが、以下のように\(\)で囲み-orを使用することにより、複数の拡張子を指定することが可能です。
以下の例では、txtとshを対象に検索しています。
find . \( -name \*.txt -or -name \*.sh \)
ちなみにgrepを使用した例では、以下のようになります。
find . | grep -e '\.txt$' -e '\.sh$'
以下に実行例を記します。
sakura@cygwin /etc$ cd /etc/ sakura@cygwin /etc$ find . \( -name \*.conf -or -name \*.\*rc \) ./bash.bashrc ./csh.cshrc ./defaults/etc/bash.bashrc ./defaults/etc/csh.cshrc ./defaults/etc/cygserver.conf ./defaults/etc/inetd.conf <snip> ./fonts/conf.d/90-synthetic.conf ./fonts/fonts.conf ./inetd.conf ./man_db.conf ./nsswitch.conf ./pki/ca-trust/ca-legacy.conf ./setup/setup.rc ./skel/.bashrc ./skel/.inputrc ./syslog.conf
よって、複数の拡張子を指定し検索する場合は、以下のようになります。
find ディレクトリ \( -name \*.拡張子 -or -name \*.拡張子 \)
3つの場合は、さらに -or -name 拡張子を指定すればよいです。
find ディレクトリ \( -name \*.拡張子 -or -name \*.拡張子 -or -name \*.拡張子 \)
上記の例では、ドット(.)を指定しカレントディレクトリおよびカレントディレクトリ配下のサブディレクトリを対象に
指定した拡張子のファイルを検索した例を記しました。
複数のディレクトリを指定したい場合は、findの後にディレクトリを指定します。
以下に/etc, /varを対象にlog, conf拡張子ファイル指定し実行した時の出力例を記します。
$ find /etc /var/ \( -name \*.log -or -name \*.conf \) /etc/defaults/etc/cygserver.conf /etc/defaults/etc/inetd.conf /etc/defaults/etc/man_db.conf /etc/defaults/etc/pki/ca-trust/ca-legacy.conf /etc/defaults/etc/syslog.conf /etc/fonts/conf.d/10-scale-bitmap-fonts.conf /etc/fonts/conf.d/20-unhint-small-vera.conf /etc/fonts/conf.d/30-metric-aliases.conf /etc/fonts/conf.d/30-urw-aliases.conf /etc/fonts/conf.d/40-nonlatin.conf /etc/fonts/conf.d/45-latin.conf /etc/fonts/conf.d/49-sansserif.conf /etc/fonts/conf.d/50-user.conf /etc/fonts/conf.d/51-local.conf /etc/fonts/conf.d/60-latin.conf /etc/fonts/conf.d/65-fonts-persian.conf /etc/fonts/conf.d/65-nonlatin.conf /etc/fonts/conf.d/69-unifont.conf /etc/fonts/conf.d/80-delicious.conf /etc/fonts/conf.d/90-synthetic.conf /etc/fonts/fonts.conf /etc/inetd.conf /etc/man_db.conf /etc/nsswitch.conf /etc/pki/ca-trust/ca-legacy.conf /etc/syslog.conf /var/log/setup.log
以上、findで拡張子を指定し検索する方法でした。
linux_btm_top.html is not found or not readable.