
以下のフォルダ階層を参照してください。
folder1
-> file11.txt
-> file12.txt
-> folder11.backup
-> file111.txt
-> file112.txt
-> file113.bak
-> folder111
-> and many more folders and files
folder2
-> file21.txt
-> file22.txt
-> file23.bak
folder2.backup
-> file111.txt
-> file112.txt
-> folder111
-> folder112
-> file1121.bak
-> file1122.txt
-> and many more folders and files
folder3
-> folder31
-> folder311
-> folder3111.backup
-> file3111.txt
-> file3112.txt
-> folder3111
-> and many more folders and files
-> folder3112
-> file31121.bak
-> file31121.txt
次の規則を使用して所有権と権限(chmod)を変更したいと思います。
「.backup」で終わるフォルダを除くすべてのフォルダ/サブフォルダ。私のサンプルフォルダ階層では次のフォルダとその内容無視されます:フォルダ11.バックアップ、フォルダ2.バックアップ、フォルダ3111。バックアップ
".bak"拡張子を持つファイルを除くすべてのファイル。ただし、拡張子に関係なくファイルが .backup フォルダーにある場合は、ルール 1 に従ってそのファイルが除外されます。
助けてくれてありがとう。 :)
答え1
(1) 目次:
find . -mindepth 1 -type d -not -name '*.backup' \
-not -path '*.backup/*' -print0 | xargs -0 chmod MODE
(2)書類:
find . -type f -not -name '*.bak' \
-not -path '*.backup/*' -print0 | xargs -0 chmod MODE
ls -ld
テスト用にコマンドラインを実行する代わりにを使用できますchmod ...
。