Такая задача: есть два текстовых файла. Нужно перенести фрагмент текста из одного в другой. Вот виндоуз например это можно сделать просто ctrl-c ctrl-v. Как это максимально эффективно сделать в консоли линукс?
Перенос фрагмента текста из файла в файл [решено]
Открываешь в kde консоль ,
cat file.txt чтоб вывести на экран
выделяешь нужный кусок
создаешь в dolphin txt файл
а дальше ctrl+с ctrl+v
Открываешь в kde консоль ,
А без графических оболочек, возможно?
А без графических оболочек, возможно?
Не вижу препятствий. Выделяем мышкой нужный фрагмент, ставим курсор куда надо пастить и тычем колесо.
я имел ввиду когда они вообще не установлены, одна консоль. там даже мышки то нет..
я имел ввиду когда они вообще не установлены, одна консоль. там даже мышки то нет..
несколько строчек надо?
проще всего vim'ом - давишь на v, и выделяешь. потом d (удаляется), потом в другом окне (C^WW) давишь p. Можно и mc(edit), кнопкой F3 выделяешь (стрелками), удаляешь и вставляешь (см. справку).
Конечно кошернее делать с помощью sed:
1) нужно вырезать строки с 20 по 30. пишешь sed -n '20,30p' file1.txt >tmp.txt
2) вырезаешь sed '20,30d' file1.txt -i
3) теперь вставляем после седьмой строки sed '8r tmp.txt' >file2.txt
4)???????
5)PROFIT
можно ещё что-нить придумать ;)
vim вам в помощь
В vim есть буфер, который работает даже между закрытиями самого vim
Т.е. переходите в режим выделения <v>, выделяете нужный кусок и копируете его в буфер <y>
Закрываете тот файл, открываете другой, доходите до нужного места и вставляете <p>.
Этого описания Вам не хватит, если Вы не владеете vim хотя бы на начальном уровне - пройдите vimtutor
Также, можно, собственно, и cat перенаправлять. Пример:
cat file1 >> file2
допишет содержимое file1 в конец file2
head -n 20 file1 | tail -n 10 >> file2
допишет строки с 11-ой по 20-ую (если нумеровать с первой) в конец file2
sed -n '11,20p' file1 >> file2
то же самое, что и предыдущее, но с помощью sed
и маны, маны, маны по всем перечисленным программам.
Конечно кошернее делать с помощью sed:
1) нужно вырезать строки с 20 по 30. пишешь sed -n '20,30p' file1.txt >tmp.txt
а можно указать место в которое вставлять в файле назначения? например с 5-й строки?
В vim есть буфер, который работает даже между закрытиями самого vim
ух ты круто, не знал..
а можно указать место в которое вставлять в файле назначения? например с 5-й строки?
3) теперь вставляем после седьмой строки sed '8r tmp.txt' >file2.txt
потом в другом окне (C^WW) давишь p.
А как читать подобные комманды С^WW что это значит и как это вводить?
Вообще можно сделать чтото типа закладок в рамках одного запуска vim например открыть 5 файлов и между ними переключаться?
А как читать подобные комманды С^WW что это значит и как это вводить?
Вообще можно сделать чтото типа закладок в рамках одного запуска vim например открыть 5 файлов и между ними переключаться?
дык там дока есть!
:split file2.txt
распилит окно попалам
его можно закрывать, смещать и т.д.
например
4
CTRL+W
-
уменьшит окно на 4 строки. итп.
в сети есть доки по-русски
в самом виме не по русски обычно, но не сложно.
можно открыть не только 10 окон, но и ещё по 20 файлов в этих окнах (команда :e)
на самом деле, vim только в первые полчаса сложен, потом всё просто.
