emacs отдыхает

emacs отдыхает

Сообщение nezabudka » 09 май 2015, 13:05

Конструируем текстовый блокнот. Некоторые не могут обращатся с vim,
другие не любят emacs, но даже не имея nano можно делать
записи воспользовавшись подручнымы консольными инструментами.
Всех остальных кто пользуется перечисленными выше супер программами
но по какой то причине заскучал я приглашаю присоединится.
Для конструктора нам потребуется во первых утилита cat
и два оператора переадресации << и >>. Кто не смог найти всего,
то можно вместо одного оператора >> воспользоваться его упрощенным
аналогом > но придется распрощаться с возможностью добавлления текста
после закрытия блокнота. И так открываем записную книжку командой:
Код: выделить все
cat > myfile.tmp << stop

жмем enter и после значка показывающего продолжение ввода пишим свой текст
нажимая enter после каждой строчки так же как в магазинном редакторе.
Код: выделить все
> Привет!         <<enter>>
> Поздравляю с праздником   <<enter>>

И когда вы посчитали что текст передан в надежные руки вводим
ключевое слово по которому закрывается дискриптор в файл
и не забываем в конце нажать на enter.
Код: выделить все
> stop            <<enter>>

Все, процесс закрыт. Для добавления записи в этот же файл придется
воспользоваться полной версией нашего блокнота
Код: выделить все
cat >> myfile.tmp << stop
> Всех участников форума
> stop

Хочу заметить что слово stop не является зарезервированным и может быть
любым на ваш выбор. Для тех кто не нашел второго комплекта стрелочек все же
существует возможностьдобавления текста в файл. В этом нас выручит тройной
оператор
Код: выделить все
cat >> /dev/null <<< "
> Костыли не грабли,
> так держать"

Заметили что теперь и конструкция нашего блокнота притерпела изменения?
У нас появилась необходимость заключать наш текст в кавычки которые берут здесь
на себя функцию ключевого слова stop и наш редактор закрывается теперь вводом
завершающей пары красивых черточек и нажатием на клавишу enter. Не станем портить
себе праздничный день и без сожаления отправляем этот текс не в файл
а в системную корзину. Есть конечно и альтернативные способы
(Команду эко и принтф я здесь не рассматриваю. Принимая во внимание
серьезность обсуждаемой темы.)
Код: выделить все
cat >> myfile.tmp -

Черточка в конце команды означает что ввод будет осуществлятся с клавиатуры.
Вводит текст строчку за строчкой пока не появится управляющая команда
Ctrl+D с новой строки. Равнозначный фунционал предлагает следующая конструкция
Код: выделить все
tr '' - >> myfile.tmp

Не станем останавливатся и спросим себя какой же линуксоид ищет легких путей?
Cамое вкусное на мой взгляд я оставила на десерт.
Если мы выполним в терминале следующую команду
Код: выделить все
exec 3>&1 1>> myfile.tmp

то захватим в личное пользование ни много ни мало а сам stdout
и перенаправим его в наш файл, а занчит сможем упростить
команды и в таком виде будем их многократно вызывать.
Код: выделить все
cat << stop
> Желаю удачи!
> stop
cat <<< "
> Незабудка."

В конце сообщу что бы починить все дискрипторы нашей терминальной сессии
Введем заключительную команду
Код: выделить все
exec 1>&- 1>&6 3>&-

Или можно просто закрыть сессию. Вот мы и сделали с вами маленький шажочек
на пути к редактору sed. Не убираем далеко главный атрибут нашего конструктора
и смотрим что у нас получилось
Код: выделить все
cat myfile.tmp

Привет!
Поздравляю с праздником
Всех участников форума!
Желаю удачи!
Незабудка.
Последний раз редактировалось nezabudka 28 ноя 2016, 19:58, всего редактировалось 2 раз(а).
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 612
Фото: 180
Стаж: 2 года 5 месяцев 4 дня
Откуда: Ростов на Дону
Благодарил (а): 283 раз.
Поблагодарили: 145 раз.

emacs отдыхает

Спонсор

Спонсор
 

Re: emacs отдыхает

Сообщение Sunderland93 » 09 май 2015, 13:22

Сравнила. Emacs это почти ОС.
Sunderland93
 
Стаж: 47 лет 8 месяцев 21 день

Re: emacs отдыхает

Сообщение nezabudka » 09 май 2015, 13:28

Sunderland93 писал(а):

Сравнила. Emacs это почти ОС.

Поэтому работяга пусть отдохнет в праздники :)
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 612
Фото: 180
Стаж: 2 года 5 месяцев 4 дня
Откуда: Ростов на Дону
Благодарил (а): 283 раз.
Поблагодарили: 145 раз.

Re: emacs отдыхает

Сообщение Sunderland93 » 09 май 2015, 13:31

nezabudka писал(а):

Sunderland93 писал(а):

Сравнила. Emacs это почти ОС.

Поэтому работяга пусть отдохнет в праздники :)

Изображение
Sunderland93
 
Стаж: 47 лет 8 месяцев 21 день

Re: emacs отдыхает

Сообщение nezabudka » 09 май 2015, 13:50

Лысина глаза слепит. Не можешь размер уменьшить?
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 612
Фото: 180
Стаж: 2 года 5 месяцев 4 дня
Откуда: Ростов на Дону
Благодарил (а): 283 раз.
Поблагодарили: 145 раз.

Re: emacs отдыхает

Сообщение Packum » 09 май 2015, 15:48

Очень полезно! В Gentoo, например, частенько приходится что-нибудь дописывать в конфиги после обновлений.
Я обычно пользуюсь echo. Конструкцией типа:
Код: выделить все
echo "..." >> путь к файлу

Вместо точек копирую, что надо вставить из того же терминала и жму enter. Это быстрее, чем открывать файл в
текстовом редакторе в другом окне. sed у меня, наверное, никогда не будет времени освоить. :(
Аватар пользователя
Packum
Активный участник
Активный участник
 
Сообщений: 173
Фото: 66
Стаж: 2 года 8 месяцев 4 дня
Откуда: С.Петербург
Благодарил (а): 86 раз.
Поблагодарили: 48 раз.

Re: emacs отдыхает

Сообщение nezabudka » 09 май 2015, 17:26

Packum писал(а):

sed у меня, наверное, никогда не будет времени освоить. :(

Очень хороший учебник для старта здесь я прочла
на одном дыхании. Достаточно будет взять на вооружение несколько
удобных опций и со временем арсенал быстро разрастется. Там все
очень просто и доходчиво. Например
Код: выделить все
sed -i.old myfile     #создаст резервную копию файла с расширением .old
sed -i '3d' myfile     #удалит третью строчку в файле
sed -i.old '3d' myfile #удалит в файле myfile 3 строчку и создаст копию myfile.old

И главное описывается принципы работы с регистрами. Вообщем не пожалееш.
А регулярные выражения ваще пальчики оближешь!
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 612
Фото: 180
Стаж: 2 года 5 месяцев 4 дня
Откуда: Ростов на Дону
Благодарил (а): 283 раз.
Поблагодарили: 145 раз.

Re: emacs отдыхает

Сообщение Packum » 09 май 2015, 17:58

nezabudka писал(а):

И главное описывается принципы работы с регистрами.

Тьфу ты, - переклинило! Думаю: как это sed может работать с регистрами процессора? Это же не ассм! :lol:
Потом дошло, что с регистрами букв!
Аватар пользователя
Packum
Активный участник
Активный участник
 
Сообщений: 173
Фото: 66
Стаж: 2 года 8 месяцев 4 дня
Откуда: С.Петербург
Благодарил (а): 86 раз.
Поблагодарили: 48 раз.

Re: emacs отдыхает

Сообщение Oleg65 » 09 май 2015, 18:23

Цитата:
Очень хороший учебник для старта здесь
Спасибо Доку (это лежит на LinuxForum с незапамятных времен), но что в этом приятное - можно с Доком пообщаться напрямую и (если он в себе) получить квалифицированные ответы (не всегда, правда, приятные) на возникшие вопросы! :D
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 756
Стаж: 2 года 8 месяцев 4 дня
Откуда: г.Коломна Моск.обл.
Благодарил (а): 54 раз.
Поблагодарили: 178 раз.

Re: emacs отдыхает

Сообщение nezabudka » 09 май 2015, 18:52

Oleg65 писал(а):

Спасибо Доку (это лежит на LinuxForum с незапамятных времен

Я привела именно ту ссылку потому что правила хорошего тона диктуют что не совсем
красиво ссылаться на другой форум. :)
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 612
Фото: 180
Стаж: 2 года 5 месяцев 4 дня
Откуда: Ростов на Дону
Благодарил (а): 283 раз.
Поблагодарили: 145 раз.

След.

Вернуться в Bash

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1