Есть ли более простой способ создать символическую ссылку в файл в текущем каталоге, чем путем выбора полного FilePath?

sed -ne:20 -e's/./&\n/20;/\n/{P;s///;s/.//;}' -et20

. Это работает с sed , если я получаю вопрос, то есть .


CCGGTCTCTTCCGGTTCTGT
CGGTCTCTTCCGGTTCTGTC
GGTCTCTTCCGGTTCTGTCT
GTCTCTTCCGGTTCTGTCTT
TCTCTTCCGGTTCTGTCTTT
CTCTTCCGGTTCTGTCTTTT
TCTTCCGGTTCTGTCTTTTC
CTTCCGGTTCTGTCTTTTCG
TTCCGGTTCTGTCTTTTCGC
TCCGGTTCTGTCTTTTCGCT
CCGGTTCTGTCTTTTCGCTG
CGGTTCTGTCTTTTCGCTGG

Хотя он выглядит так же, как и все остальные. С sed это довольно просто - пока в его пространстве шаблонов есть не менее 20 символов, он будет добавлять новую строку к 20-му, печатать до новой строки, затем удалять новую строку и первый символ перед циклом снова вернуться в пространство шаблонов.

С некоторыми sed вам может потребоваться использовать буквальную новую строку вместо n после ссылки на замену и - и, честно говоря, это лучший способ сделать это, но сложнее показать такие вещи на веб-странице.

0
05.11.2018, 23:43
2 ответа

Вкладка -автодополнение для файлов работает с переменной $PWDу меня:

bash-4.4$ touch bar baz
bash-4.4$ ln -s $PWD/ba<tab>
bar  baz
2
28.01.2020, 02:18

Для завершения некоторые варианты вzsh:

  • ~0(или~+0)— немного более короткая альтернатива $PWD(, а завершение имени файла работает так же хорошо после $PWD/fi<Tab>, как и после ~0/fi<Tab>или$(pwd)fi<Tab>); ~1, ~2... - это предыдущие каталоги, в которых вы были, система завершения также может быть настроена так, чтобы показывать вам, какие они были, и расширяться (на~+<Tab>).
  • Можно использовать ln -s file(:A) /usr/local/bin, где (:A)приводит к тому, что fileрасширяется до его абсолютного пути, (остерегайтесь, что он разрешает символические ссылки на их цели, хотя ).

Также обратите внимание на опцию -r/ --relativeGNUln:

ln -rs file /usr/local/bin/

Будет создана символическая ссылка /usr/local/bin/file, указывающая (как относительный путь, так что, возможно, что-то вроде../../../home/you/file)на fileв текущем каталоге, аналогично:

ln -s "$(realpath -s --relative-to=/usr/local/bin file)" /usr/local/bin

(с GNUrealpath).

2
28.01.2020, 02:18

Теги

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