Помощь - Поиск - Пользователи - Календарь
Полная версия: скрипт Shell
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Тёмный Эльф
Вопрос насчет команды find в командной строке Linux.
Например, если я ввожу find. -name "*a*" -exec rm {} \; , то удаляются все файлы, содержащие в своем название символ "a". А как сделать так, чтобы удалялись только те файлы, имена которых оканчиваются на символ "a"?
Malice
find. -name "*a" -exec rm {} \; не прокатит ?
Тёмный Эльф
Цитата(Malice @ 14.10.2007 23:54) *

find. -name "*a" -exec rm {} \; не прокатит ?


Хм. В этом случае ничего не удалилось.
klem4
может быть надо каким-то образом указывать на конец строки ? как в регулярных выражениях php например "*a^" вроде smile.gif
xds
Все должно работать:
Код
symbiot7@v51:~#find . -name "*a" -exec echo "Found: {}" \;
Found: ./htdocs/pma                                      
Found: ./htdocs/pma/contrib/packaging/Fedora              
find: ./bin: Permission denied                            
Found: ./tmp/sess_424fef7bc6e6ccab4f3ac26e5584799a        
Found: ./tmp/sess_34d01ee27efe191c57c7e01f882a735a        
Found: ./tmp/sess_7cfa12eda713fe97a1b64d77694623ea        
Found: ./copyarea                                        
symbiot7@v51:~#


Может ты не поставила пробел перед \; ? Что говорит sh?
Тёмный Эльф
Вот когда я прописываю в исполняем файле sh так
find . -name "*a" -exec echo "Found: {}" \;
то он не находит ничего при этом не выдает никаких сообщений.
А когда я написала вместо "*a" вот так "*txt" то он нашел все текстовые файлы. Тогда я пришла к выводу, что он ищет расширения. То есть если я создам файл с именем file.a то он отобразит его. А вот файл aaa.txt уже нет. (хотя окончание на символ a)
Может, попробывать сделать это с помощью цикла? например пробегаем название файла пока символ не есть точка. Как только равен точка (дальше идет расширение) проверяем равен ли предыдущий символ нужному нам значению, и если да, отображаем его. Или это бред? dry.gif

З.Ы. "*a^" так тоже не находит. (даже если расширение файла оканчивается на a)
xds
В POSIX нет расширений - все символы имени файла равноправны. Используй шаблон "*a.*".
Тёмный Эльф
Цитата
Используй шаблон "*a.*"


О. умно)) Спасибо.
xds
Цитата(Тёмный Эльф @ 18.10.2007 4:35) *

О. умно)) Спасибо.

На здоровье! smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.