Хорошо, это моя третья попытка опубликовать это, может быть, я задаю неправильный вопрос!Bash скрипт для автоматического создания символических ссылок на подкаталоги в дереве
Прошло несколько лет с тех пор я сделал никакого программирования оболочки, так что я немного ржавый ...
Я пытаюсь создать простой скрипт, который находит все подкаталоги под определенным именем поддиректории в дереве и создает символические ссылки на эти каталоги (звучит более запутанно, чем есть). Я использую cygwin в Windows XP.
Эта находка/команда Grep находит каталоги в файловой системе, как я хочу его:
find -mindepth 3 -maxdepth 3 -type d | grep "New Parts"
Теперь для жесткой части ... Я просто хочу, чтобы сделать этот список, конвейер в ЛУ и создать некоторые символические ссылки. Список каталогов имеет некоторые пробелы, так что я пытался использовать xargs, чтобы очистить вещи немного:
find -mindepth 3 -maxdepth 3 -type d | grep "New Parts" | xargs -0 ln -s -t /cygdrive/c/Views
К сожалению, пер выплевывает длинный список всех каталогов сцепленных вместе (разделённых \ п) и выливает ошибку «Имя файла слишком долго».
Идеи ??
+1 для флага -exec. Люди, похоже, часто забывают об этом. Вы можете захотеть заключить {} в кавычки, хотя он обрабатывает имена с пробелами в них в порядке. –