概要
ディレクトリ内を検索する際のlinuxコマンドやその使い道をまとめる
Command構文
find
フォルダ・ファイルの検索
※オプションに[-print0]を付けることで空白にも対応
find <DIR> <option> [条件A] <-print0>
ls
ファイル・ディレクトリを一覧出力
ls <option> <DIR>
grep
文字列の検索が出来る
grep [文字列] <DIR>
xargs
コマンドの出力結果を別のコマンドの引数として渡す
※オプションに[-0]を付けることで空白にも対応
<command1> | xargs <-0> <command2> [<command1>の結果]
find検索パターン
ファイル、ディレクトリ名をワイルドカードで検索
find <DIR> -name [文字列]
容量が0のファイル、ディレクトリを検索
find <DIR> -empty [文字列]
and条件で検索
find <DIR> [条件A] -and [条件B]
例: ルート配下の名前が"CMD"を含み、かつファイル名に
or条件で検索
find <DIR> [条件A] -or [条件B]
否定条件で検索
find <DIR> -not [条件A]
例: 現在のディレクトリ内で拡張子[.log]を除外したものを出力
find ./ -not [条件A] -name "*.log"
検索結果に対して任意のコマンド実行
find <DIR> <OPTION> [条件A] -exec [コマンド] \;
例: 現在のディレクトリ内の全Logファイルを圧縮する
※{}: 対象(検索結果)すべて
find ./ -name "*.log" -exec zip ./Logging.zip {} \;
ファイル内の任意の文字列検索
find <DIR> <OPTION> [条件A] -print0 | xargs -0 grep "[文字列]"
grep検索パターン
特定のディレクトリのファイル名検索
ls <DIR> <OPTION> | grep "[文字列]"
ファイル内の任意の文字列検索
grep "[文字列]" -rl <DIR>