![]() |
![]() |
Indevor 10.03.2004 - 22:54 |
Задача - некоторым файлам с одинаковым расширением допустим .txt нужно изменить права убрать разрешение на редактирование. Помогите как составить команду которая рекурсивно будет изменять все файлы в конкретной папке. Я уже всё перепробовал - не работает. Вот варианты опробованные мною - 1) chmod -R a-w *.txt -не работает сообщение что нет такого файла 2) chmod -R a-w * - всё отлично заработало но увы маска все файлы неподходит. Может кто укажет где я делаю ошибку? |
Jean 1 - 11.03.2004 - 10:56 |
AFAIK chmod не занимается рекурсивным поиском по маске. Для этого можно использовать find: for file in `find -name *.h` ; do chmod a-w $file ; done |
Alex_000 2 - 11.03.2004 - 10:57 | attrib /? |
eXeC001er 3 - 11.03.2004 - 13:27 |
то Alex_000: этж Линукс а не ДОС. |
Indevor 4 - 11.03.2004 - 18:33 | 2Jean: Спасибо попробую сегодня... что то не как не привыкну к тому что можно строить сложные команды в линуксе... |
Indevor 5 - 24.03.2004 - 22:21 |
Увы метод предложенный Jean отработал но не на все 100%. Вообщем сложилась такая ситуация. Если в пути к файлу в именах папок или файлов нет знака пробела то всё ок. Если пробел есть то файл находится верно а вот при изменении обращатся будет по пути в котором отбрасывается та часть что стоит после пробела. То есть: /temp/new file/test.txt а меняет у /temp/new естественно возникает ошибка - нет такого файла или директории... |