find コマンドで該当するファイルを削除する方法です。別に削除でなくてもいいんですけど、使いたい目的は削除が多いのかなと思います。他にもパーミッション(permission)の変更にも使えたりします。
使い方の例としては以下の通りです。
find . -name *.sh | xargs ls -l*.sh というファイルを検索し、それを rm コマンドで削除するというコマンドです。(実行するととんでもないことになるようなものなので、試行には十分注意して下さい。)まずは、ls コマンドで対象ファイルを表示してみて、rm コマンドで削除するほうがいいでしょう。
find . -name *.sh | xargs rm -f
以下の通り、同様のことができます。
- 実行権のあるファイルの実行権を落とす
find . -perm -ugo=x -type f | xargs ls -l
permission が +g+x だけだとディレクトリも対象となってしまい、意図と違うので、-type f を付加します。
find . -perm -ugo=x -type f | xargs chmod ugo-x - group にあるパーミッションを other にも付加する
find . -perm -g=r -type f | xargs ls -l
find . -perm -g=r -type f | xargs chmod o+r