![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Тёмный Эльф |
![]() ![]()
Сообщение
#1
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Вопрос насчет команды find в командной строке Linux.
Например, если я ввожу find. -name "*a*" -exec rm {} \; , то удаляются все файлы, содержащие в своем название символ "a". А как сделать так, чтобы удалялись только те файлы, имена которых оканчиваются на символ "a"? |
![]() ![]() |
Malice |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
find. -name "*a" -exec rm {} \; не прокатит ?
|
Тёмный Эльф |
![]()
Сообщение
#3
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
может быть надо каким-то образом указывать на конец строки ? как в регулярных выражениях php например "*a^" вроде
![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
xds |
![]()
Сообщение
#5
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Все должно работать:
Код 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? -------------------- The idiots are winning.
|
Тёмный Эльф |
![]()
Сообщение
#6
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Вот когда я прописываю в исполняем файле sh так
find . -name "*a" -exec echo "Found: {}" \; то он не находит ничего при этом не выдает никаких сообщений. А когда я написала вместо "*a" вот так "*txt" то он нашел все текстовые файлы. Тогда я пришла к выводу, что он ищет расширения. То есть если я создам файл с именем file.a то он отобразит его. А вот файл aaa.txt уже нет. (хотя окончание на символ a) Может, попробывать сделать это с помощью цикла? например пробегаем название файла пока символ не есть точка. Как только равен точка (дальше идет расширение) проверяем равен ли предыдущий символ нужному нам значению, и если да, отображаем его. Или это бред? ![]() З.Ы. "*a^" так тоже не находит. (даже если расширение файла оканчивается на a) Сообщение отредактировано: Тёмный Эльф - 15.10.2007 19:52 |
xds |
![]()
Сообщение
#7
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
В POSIX нет расширений - все символы имени файла равноправны. Используй шаблон "*a.*".
-------------------- The idiots are winning.
|
Тёмный Эльф |
![]()
Сообщение
#8
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Цитата Используй шаблон "*a.*" О. умно)) Спасибо. |
xds |
![]()
Сообщение
#9
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
-------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 5:44 |