This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
текстовые_редакторы_ed_sed_vi_vim [2016/09/06 13:36] val [Редактор vi, vim] |
текстовые_редакторы_ed_sed_vi_vim [2024/09/25 08:11] (current) val [Аргумент "i" - непосредственное редактирование файла] |
||
---|---|---|---|
Line 64: | Line 64: | ||
===== Потоковый редактор sed ===== | ===== Потоковый редактор sed ===== | ||
- | [[http://ru.wikipedia.org/wiki/Sed]] | + | * [[http://ru.wikipedia.org/wiki/Sed|Sed wikipedia]] |
- | + | * [[http://www.lissyara.su/doc/programming/sed/|ПОТОКОВЫЙ РЕДАКТОР sed]] | |
- | [[http://www.lissyara.su/doc/programming/sed/]] | + | * [[https://habrahabr.ru/post/191006/|Шахматы на чистом sed]] |
==== Формат команды ==== | ==== Формат команды ==== | ||
Line 86: | Line 86: | ||
==== Команда "a" вставка после, "i перед строкой и размещение команд редактирования в файле ==== | ==== Команда "a" вставка после, "i перед строкой и размещение команд редактирования в файле ==== | ||
<code> | <code> | ||
+ | $ cp /etc/passwd . | ||
+ | |||
$ sed '1i\ | $ sed '1i\ | ||
Name:Pass:Uid:Gid:... | Name:Pass:Uid:Gid:... | ||
Line 104: | Line 106: | ||
==== Команда редактирования "c" - замена строк и использование шаблона для выбора редактируемых строк ==== | ==== Команда редактирования "c" - замена строк и использование шаблона для выбора редактируемых строк ==== | ||
<code> | <code> | ||
+ | $ cp /etc/ssh/ssh_config . | ||
+ | |||
$ sed '/^#/c\ | $ sed '/^#/c\ | ||
# COMMENT | # COMMENT | ||
- | ' sshd_config | + | ' ssh_config |
</code> | </code> | ||
Line 124: | Line 128: | ||
=== Linux/FreeBSD === | === Linux/FreeBSD === | ||
<code> | <code> | ||
- | $ sed 's/bin\/sh/bin\/bash/g' passwd | + | $ df -h | sed -re 's/ {1,}/ /g' # see tr |
+ | |||
+ | $ sed 's/bin\/bash/bin\/sh/g' passwd | ||
+ | |||
+ | $ sed 's|bin/csh|bin/sh|g' passwd | ||
</code> | </code> | ||
Line 143: | Line 151: | ||
==== Аргумент "i" - непосредственное редактирование файла ==== | ==== Аргумент "i" - непосредственное редактирование файла ==== | ||
<code> | <code> | ||
- | $ sed -i.bak -e '/^$\|^#/d' sshd_config | + | $ sed -i.bak -e '/^$\|^#/d' ssh_config |
- | $ sed -i.bak -e '/swap/s/^/#/' fstab | + | $ sed -i -e '/swap/s/^/#/' fstab |
- | + | ||
- | # sed -i.bak -e 's/,established//' *.rules | + | |
</code> | </code> | ||
Line 160: | Line 166: | ||
</code> | </code> | ||
- | может понадобиться для корректной работы: | + | ==== Настройка ==== |
<code> | <code> | ||
- | # cp /usr/local/share/vim/vim*/vimrc_example.vim /usr/local/share/vim/vimrc | + | $ cat ~/.vimrc |
- | # cat /usr/local/share/vim/vimrc | + | debian# cat /usr/share/vim/vim*/defaults.vim |
</code><code> | </code><code> | ||
... | ... | ||
"set incsearch | "set incsearch | ||
- | ... | + | set mouse-=a |
- | "if has('mouse') | + | syntax on |
- | " set mouse=a | + | "filetype plugin indent on |
- | "endif | + | |
- | ... | + | |
- | " filetype plugin indent on | + | |
- | ... | + | |
</code> | </code> | ||
Line 198: | Line 199: | ||
<Ctrl>-B - на страницу вверх | <Ctrl>-B - на страницу вверх | ||
<Ctrl>-F - на страницу вниз | <Ctrl>-F - на страницу вниз | ||
- | [[ - на начало процедуры (текста) | + | g - на начало текста |
- | ]] - на конец процедуры (текста) | + | G - на конец текста |
<Ctrl>-G - вывести отчет о редактируемом тексте | <Ctrl>-G - вывести отчет о редактируемом тексте | ||
</code> | </code> | ||
Line 207: | Line 208: | ||
/регулярное_выражение - поиск по тексту вниз | /регулярное_выражение - поиск по тексту вниз | ||
/\cрегулярное_выражение - поиск по тексту вниз без учета регистра | /\cрегулярное_выражение - поиск по тексту вниз без учета регистра | ||
- | / - повтор поиска вниз | + | n - повтор поиска вниз |
?регулярное_выражение - поиск по тексту вверх | ?регулярное_выражение - поиск по тексту вверх | ||
- | ? - повтор поиска вверх | + | N - повтор поиска вверх |
</code> | </code> | ||
Line 237: | Line 238: | ||
1,20g/шаблон/d - удалить строки, содержащие шаблон c 1 по 20 строку | 1,20g/шаблон/d - удалить строки, содержащие шаблон c 1 по 20 строку | ||
20,$s/шаблон/замена/ - произвести замены в тексте с 20 строки до конца | 20,$s/шаблон/замена/ - произвести замены в тексте с 20 строки до конца | ||
- | %s/шаблон/замена/ - произвести замены в тексте во всем файле | + | %s/шаблон/замена/ - произвести замены в тексте во всем файле. Пример: %s/^/shut\rint / |
+ | noh - очистить подсветку поиска | ||
</code> | </code> | ||
+ | ==== Редактирование файлов для Winodws ==== | ||
+ | <code> | ||
+ | $ vim -c 'set ff=dos' cko-asterisk.ovpn | ||
+ | </code> | ||
===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||
- | [[http://www.grymoire.com/Unix/Sed.html]] | + | * [[https://www.grymoire.com/Unix/Sed.html|Sed - An Introduction and Tutorial by Bruce Barnett]] |