Как я могу искать имена файлов, которые начинаются с xy_ *, и создаются / редактируются сегодня?

Здравствуйте, я сейчас пытаюсь найти файлы журналов, которые начинаются с xy_Number и создаются / редактируются сегодня (не последние 24 часа).

Я пытался:

find /home/USER/logfilesError/ -maxdepth 1 -type f -daystart -mtime -1 print0 | xargs -0 grep - l xy_* 

Вывод:

 find: paths must precede expression: print0 

Мне нужно объединить:

 find -maxdepth 1 -type f -daystart -mtime -1 

а также

 ls | grep -E "xy_" 

Я хочу достичь:

Поиск лог-файлов из определенного местоположения, в котором находится сегодняшняя дата, а затем шаг за шагом и поиск этих файлов и вывод тех, у которых есть строки, начинающиеся с ERROR. (другие строки INFO и DEBUG)


Таким образом, поиск работает отлично, и я хочу продолжить поиск файлов после поиска с помощью grep, чтобы найти файлы, содержащие ERROR

 grep -rl "ERROR" /home/USER/logfilesError/ 

Как объединить их в сценарии? С чем? Может кто-то помочь мне с этим?

  • Печать строк между двумя шаблонами с SED
  • Передавать две (трубчатые) команды оболочки в качестве параметра функции оболочки
  • Объединить имя файла внутри CSV-файла для каждой строки для нескольких файлов CSV
  • Что делает «while test $ # -gt 0»?
  • Редактирование INI-подобных файлов со сценарием
  • Как написать вывод на экран из службы systemd во время загрузки?
  • Извлечение частей строки, разделенной пробелами
  • Как сделать необязательные аргументы, которые могут быть именами файлов, содержащими пробелы
  • 2 Solutions collect form web for “Как я могу искать имена файлов, которые начинаются с xy_ *, и создаются / редактируются сегодня?”

    Зачем использовать grep, find может выполнить эту работу:

     find /home/USER/logfilesError/ -maxdepth 1 -type f -name "xy_*" -daystart -mtime -1 

    По звукам этого, вы ищете -name :

     find /path -maxdepth 1 -type f -name 'xy_*' -daystart -mtime -1 -exec grep -H ERROR {} + 

    От man find :

    -name pattern

    База имени файла (путь с удаленными ведущими каталогами) соответствует шаблону шаблона оболочки. Метасимволы ('*', '?' И '[]') соответствуют значению '.' в начале базового имени (это изменение в findutils-4.2.2, см. раздел STANDARDS CONFORMANCE ниже). Чтобы игнорировать каталог и файлы под ним, используйте -prune; см. пример в описании -path. Скобки не признаны как особые, несмотря на то, что некоторые оболочки, включая Bash imbue, скобки со специальным значением в шаблонах оболочек. Соответствие имени файла выполняется с использованием библиотечной функции fnmatch (3). Не забудьте приложить шаблон в кавычки, чтобы защитить его от расширения оболочкой.

    Linux и Unix - лучшая ОС в мире.