#author("2020-10-21T01:41:49+09:00","default:Miyashita","Miyashita")
#author("2020-10-23T01:40:14+09:00","default:Miyashita","Miyashita")
*find コマンド メモ [#s1997829]
名の通りいろいろ探せる.~
ファイルをどこに格納したのか,また全部入っているかという時などなど.
**ファイル検索 [#c641bd89]
#codeprettify(lang-bash){{
find . -name "*.f90"
}}
で階層下(.)のファイル名が一致するやつ(上記ならf90形式ファイル)を検出し,リストアップする.~
grepとは書く順番が違う.また,デフォルトで再帰的に検索するのでgrepの-rオプションのようなものは不要.~
ファイル名が完全でない場合はワイルドカード「*」が必要.~
表示される順番がバラバラのため,sortするのもあり.
#codeprettify(lang-bash){{
find . -name "*.f90" | sort -d
}}
見つかった個数を表示したいときはwcでカウントする.
#codeprettify(lang-bash){{
find . -name "*.f90" | wc -l
}}
階層の深さを指定したい時は maxdepth を使う.
#codeprettify(lang-bash){{
find . -maxdepth 3 -name "*.f90"
}}
~
~

**ディレクトリ検索 [#u367ef88]
ディレクトリ名を検出するには,パイプで渡してgrepを使うとできる~
一発で済む方法もありそうだが知らない.
#codeprettify(lang-bash){{
find . -type d | grep dirname
}}

奥の階層までディレクトリ検索する必要がない時は,maxdepth オプションを使う.~
ワンライナーを書くときに使える.
#codeprettify(lang-bash){{
# -maxdepth 1 はディレクトリの中のディレクトリを検索しない
find . -maxdepth 1 -type d | grep dirname
}}
maxdepth はオプションの位置が重要で,上のような位置で指定しないと正しく動作しないので注意.

**ライブラリ等のファイルを検索 [#la14e0fe]
ライブラリのファイルのありかを知りたいときは, find コマンドより locate コマンドの方が良い.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes