Использование символической ссылки с ~ в пути в команде поиска - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь написать команду, которая будет работать для всех пользователей, чтобы найти список последних файлов с заданным именем с путем ~ / work (который отображается в / mnt / data / username / для каждого пользователя).Поэтому следующая команда будет работать, если я нахожусь в каталоге для себя:

find . -name "data.csv" -exec ls -ltr {} +

Однако, когда я пытаюсь обобщить это, так что это может быть запущено для любого пользователя из любого места со следующим

find ~/work -name "data.csv" -exec ls -ltr {} +

команда ничего не возвращает.Как я могу заставить его использовать эту символическую ссылку, доступную для всех пользователей?

Спасибо.

1 Ответ

0 голосов
/ 28 сентября 2018

Используйте параметр -H, который указывает find следовать символическим ссылкам в аргументах командной строки.

find -H ~/work -name "data.csv" -exec ls -ltr {} +

Со страницы man:

-H
Не переходить по символическим ссылкам, кроме как при обработке аргументов командной строки.... Если действует -H и один из путей, указанных в командной строке, является символической ссылкой на каталог, содержимое этого каталога будет проверено (хотя, конечно, -maxdepth 0 помешает этому).

...