Найдите конкретное вложение имен каталогов, например, …/project/dir1/dir2

Установка сделает это, если дали исходный файл /dev/null. -D аргумент говорит для создания всех родительских каталогов:

anthony@Zia:~$ install -D /dev/null /tmp/a/b/c
anthony@Zia:~$ ls -l /tmp/a/b/c 
-rwxr-xr-x 1 anthony anthony 0 Jan 30 10:31 /tmp/a/b/c

Не уверенный, если это - ошибка или не — ее поведение с файлами устройств не упоминается в странице справочника. Вы могли также просто дать ему пустой файл (недавно созданный с mktemp, например) как источник.

5
26.11.2018, 02:30
1 ответ

Если Вы использовали find -name project/dir1/dir2 Вы найдете сообщение как это:

найдите: предупреждение: имена файлов Unix обычно не содержат наклонные черты (хотя пути делают). Это означает это -name 'project/dir1/dir2' вероятно, оценит ко лжи все время в этой системе. Вы могли бы найти -wholename более полезный тест, или возможно -samefile. С другой стороны, при использовании GNU grep Вы могли бы использовать find ... -print0 | grep -FzZproject/dir1/dir2''.

Так, это предлагает определенные альтернативы для такой задачи. Странный это не упоминает -path управляйте для нахождения:

find -path "*/project/dir1/dir2" -print

Заметьте */ вначале. Они говорят, находят для печати любого пути, который заканчивается /project/dir1/dir2 и название первого каталога должно быть project иначе это найдет myproject/dir1/dir2 и такой.

11
27.01.2020, 20:34
  • 1
    Это, кажется, работает. Я попробовал его ранее, и это не работало, но я вдали от своей установки Ubuntu и пытался моделировать это на машине OS X. Продолжает работать мои *отклоняют машину. Я должен был ожидать, что находка BSD не работала бы то же. –  Doug Stephen 01.11.2013, 23:46

Теги

Похожие вопросы