работает

This commit is contained in:
bogdan zažigin 2023-07-14 19:47:40 +03:00
parent 1167228340
commit 5b3eda1113
4 changed files with 24 additions and 2 deletions

View file

@ -2,6 +2,6 @@
:linker: ln -sf
`link-modeline` `директорию`::
создаёт символические ссылки для кода в `директории`. например, на файл «sxkdrc» со строкой «`# link: ~/.config/sxhkd/sxhkdrc`» будет создана соотвествующая ссылка.
технически, передаёт в аргументы команды `{linker}` имя файла из порядкового списка всех текстовых файлов данной `директории` и результат поиска в нём соответствия регулярному выражению «`{regex}`».
Создать символические ссылки для кода в `директории`. Например, на файл «`sxkdrc`» со строкой «`# link: ~/.config/sxhkd/sxhkdrc`» будет создана соотвествующая ссылка.
Технически, передаёт в аргументы команды `{linker}` имя файла из порядкового списка всех текстовых файлов данной `директории` и результат поиска в нём соответствия регулярному выражению «`{regex}`».

20
source/link-modeline.sh Normal file
View file

@ -0,0 +1,20 @@
# create symbolic links
# by vim-like modelines
# of all files in the directory
# arguments
directory=$1
# link modeline regular expression
regex="^.{2,3}link: \K\S+"
files=(`grep -rPHl "${regex}"`)
destinations=(`grep -rPho "${regex}"`)
for ((e = 0; e <= (${#files[@]} - 1); e++));
do
target=${files[$e]}
link_name=${destinations[$e]}
ln -sfvnr $target $link_name
done

1
source/test/test.txt Normal file
View file

@ -0,0 +1 @@
# link: ./tested.txt

1
source/tested.txt Symbolic link
View file

@ -0,0 +1 @@
test/test.txt