〜/ docsディレクトリ内で、.txtで終わるすべてのファイルを「タッチ」したい
これどうやってするの?
〜/ docsディレクトリ内で、.txtで終わるすべてのファイルを「タッチ」したい
これどうやってするの?
回答:
とfind
:
find ~/docs -name "*.txt" -exec touch {} \;
~/docs
name
オプションは、すべての一致するtxt
ファイルを- exec
コマンドを実行しますtouch
で置換され、ファイル名に{}
\;
コマンドを終了し、touch
見つかったファイルごとに1回呼び出されます注意:
\+
で、最後touch
にこれらのファイルすべてを一度に実行する単一のコマンドを作成します。これはすべてのコマンドで可能ではありませtouch
んが、影響を受ける多くのファイルがある場合に機能し、数回の呼び出しを節約します。
{} \+
...より良いここになりtouch
1万ファイルとして、例えばので、そのコマンドライン上で多くのファイル名を扱うことができる{} \;
1万に行われる呼び出しtouch
...使用して{} \+
呼び出します。touch
ここでは...一度だけ(利用可能なメモリに依存)findのマンページからの抜粋です-exec command {} + ... The command line is built in much the same way that xargs builds its command lines
。man find
ドキュメントに詳細があります。