Я пытаюсь создать скрипт, чтобы файлы с одинаковым расширением оставались в папке отдельно от остальных. В частности, я хочу сценарий, который, выполняемый в папке, создает программные ссылки для всех файлов .tex и помещает их в подпапку "исходники".
Я знаю, что ln хорошо справляется с регулярными выражениями, а $PWD или $(pwd) возвращает путь к текущей папке. Поэтому я попытался выполнить
ln -s $PWD/*.tex ./sources/
в моей папке, но вскоре я понял, что в моем пути есть папка с пробелами, которую ln читает как несколько файлов. Итак, я попробовал с
ln -s '$PWD'/*.tex ./sources/
а также
ln -s '$PWD/*.tex' ./sources/
но в обоих случаях сценарий создает один файл с именем *.tex в моей папке с sources . После некоторого поста я попытался изменить пробелы в пути, как эти
ln -s $(printf "%q\n" "$PWD")/*.tex sources/
ln -s '$(printf "%q\n" "$PWD")'/*.tex sources/
ln -s '$(printf "%q\n" "$PWD")/*.tex' sources/
но вывод был таким же (с разницей в дополнительный символ \).
Помогите?
