Как извлечь один файл из двух путей в unix?

Как извлечь один файл из двух путей в unix?

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

find . \( -path "/usr/local" -o -path "/user/local/archive" \) -name "xyz.csv"

Не могли бы вы мне помочь?

решение1

Причины, по которым вы не получаете выходные данные:

  • Точка — это корень вашего поиска, поэтому, если вы не находитесь в корневом каталоге, в вашем дереве поиска .не будет/usr/local
  • Параметр -pathдолжен соответствовать всему пути, включая искомый объект, поэтому, если вы указали -nameэто имя, оно также должно быть частью -path(или к нему должно быть добавлено подстановочное слово *в конце).

Но findпринимает более одного аргумента в качестве пути поиска, поэтому вы можете искать, как написал @Kamaraj в своем комментарии. В вашем случае это даже не обязательно, так как find также ищет в подкаталогах, поэтому find /usr/local -type f -name xyz.csvтакже найдет/usr/local/archiv/xyz.csv

Связанный контент