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
после ссылки на замену и
- и, честно говоря, это лучший способ сделать это, но сложнее показать такие вещи на веб-странице.
Вкладка -автодополнение для файлов работает с переменной $PWD
у меня:
bash-4.4$ touch bar baz
bash-4.4$ ln -s $PWD/ba<tab>
bar baz
Для завершения некоторые варианты в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
/ --relative
GNUln
:
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
).