特定のファイルを1箇所に移動したい
目的
特定の文字が含まれているファイルを1箇所にコピーしたい
方法
find
コマンドの exec
オプションを使用する
使用例
$ find 検索パス -type f -name 検索したい名前 -ecec cp {} コピー先ディレクトリ \;
# 例
$ find . -type f -name "*.txt" -exec cp {} ~/dest \;
解説
find
コマンド
-
type
:ファイルタイプを指定する-
-type f
はファイルを対象として検索 -
-type d
はディレクトリを対象として検索
-
-
name
:ファイルの名前を指定する- ワイルドカードを使用して、ファイルやディレクトリ名の一部のみを指定し、検索することができる
-
"*.txt"
はすべてのtext
ファイル -
"test*/*.txt"
はファイル名がtest
で始まるすべてのtext
ファイル
-
- ワイルドカードを使用して、ファイルやディレクトリ名の一部のみを指定し、検索することができる
-
-exec
:検索結果に対してコマンドを実行する-
{}
は対象となる全ファイルを表し、最後の\;
は-exec
の終わりを表す記号
-