指定したパーミッションのファイルを変更する、一気に
探すのはfind
、リスト実行するxargs
、変更はchmod
$ find <path> -perm /a+x | xargs chmod -x
permオプション
a
は全部。u
ユーザー、g
グループ、o
その他。
または数字で指定644
/
は何れか、-
は全てにマッチ。
/a+x
か/111
でユーザー、グループ、その他の何れかに実行許可があるファイルを探す。
-a+x
か-111
でユーザー、グループ、その他の全てがxなファイルを探す。
リスト実行
対象のファイルを確認したければls -l
してみる。
$ finx <path> -perm /a+x | xargs ls -l
やってやったぜ
なぜか無用に+xになってるファイルを-xした。
$ find . -perm /a+x -name *.h \
-or -perm /a+x -name *.c \
-or -perm /a+x -name *.cpp
| xargs chmod -x
findの複数検索条件をもっとちょっとスマートに書けないの?
-exec {} ;よりxargsが推奨みたい qiita.com
こっちの方がスマート? qiita.com