Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: проблема с командой find -name (и не только)  (Прочитано 4398 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн falsekeel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Доброго времени суток уважаемые форумчане!
С командой find творятся прямо какие-то чудеса. Ищу по маске *.tex файлы c помощью команды
$ find -name *texи пока в текущей директории нет *.tex файлов все хорошо. как только они там появляется получается ошибка "find: пути должны быть перед выражением:". насколько я понимаю такую ошибку могут вызывать пробелы в именах папок. у меня их разумеется нет. стоит удалить файлы *.tex (или хотя бы изменить их расширение) эта ошибка исчезает. С чем это может быть связано и как это лечить?

П.С. верстаю большой и сложный документ в LaTeXе, и он отказывается подключать файлы, что не дает нормально собрать документ и особенно досаждает. говорит что не может найти файл, хотя в данном месте он лежит. чёрт с ней, с командой find, пусть не работает. но что-то мне подсказывает что имеется два проявления одной и той же проблемы.

П.П.С. это происходит не только с расширением *.tex

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7343
  • Luck Tales
    • Просмотр профиля
Re: проблема с командой find -name (и не только)
« Ответ #1 : 15 Ноября 2017, 00:23:32 »
falsekeel, find -name '*tex'
(кавычки!!!)

Пользователь добавил сообщение 15 Ноября 2017, 08:52:46:
насколько я понимаю такую ошибку могут вызывать пробелы в именах папок
неверно. Проблему создаёт неэкранированная *, которая при выполнении команды разворачивается в список файлов (globbing).
Команда find -name *tex соотвестственно, разворачивается в find -name ./1.tex ./2.tex ./итд.tex, отсюда и ошибка -пути должны быть перед выражением

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 15 Ноября 2017, 08:56:01 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн xandvik

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: проблема с командой find -name (и не только)
« Ответ #2 : 15 Ноября 2017, 16:27:12 »
Кавычки забыл и путь чо не указал где поиск проводить??? Надо типа
find ~/vasya -name "*tex" -print
« Последнее редактирование: 15 Ноября 2017, 16:29:46 от xandvik »
Debian GNU/Linux bookworm/sid

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7343
  • Luck Tales
    • Просмотр профиля
Re: проблема с командой find -name (и не только)
« Ответ #3 : 15 Ноября 2017, 16:34:55 »
путь можно не указывать - find по умолчанию стартует из текущей папки
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн falsekeel

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: проблема с командой find -name (и не только)
« Ответ #4 : 15 Ноября 2017, 19:43:05 »
Благодарю! действительно помогло. осталось только решить проблему с потерей файлов LaTeXом. Но тут я пока сам.

 

Страница сгенерирована за 0.062 секунд. Запросов: 23.