Я пытаюсь создать скрипт, чтобы файлы с одинаковым расширением оставались в папке отдельно от остальных. В частности, я хочу сценарий, который, выполняемый в папке, создает программные ссылки для всех файлов .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/
но вывод был таким же (с разницей в дополнительный символ \
).
Помогите?