Электронные таблицы в консоли Linux
Оригинал: How to make spreadsheets in a Linux terminal
Автор: Adrien Brochard
Дата публикации: 6 мая 2014 года
Перевод: А. Кривошей
Дата перевода: август 2014 г.
Если вы хотите избавиться от графического интерфейса и делать все в консоли, то можно только пожелать вам удачи. Однако если речь заходит о серьезных вещах, и вы хотели бы научиться чему-то новому, как насчет электронных таблиц в терминале?
Конечно, LibreOffice или другой офисный пакет прекрасно справится с любой задачей, но не всегда целесообразно использовать мощную и тяжелую программу для простых вещей. Я имею в виду, что если вам нужно создать небольшую электронную таблицу с несколькими простыми формулами, то для этого не требуется мощь традиционного офисного пакета. Плюс если у вас старый компьютер или запущено много приложений, вам придется ждать достаточно долго, пока программа загрузится. С другой стороны, электронная таблица в консоли быстрая, простая и эффективная. В качестве такой программы я хочу представить вам sc. Это сокращение от "spreadsheet calculator".
Установка sc в Linux
Пакет sc имеется в репозитории universe для Debian и систем на его основе, таких как Ubuntu или Linux Mint, поэтому установка очень проста:
$ sudo apt-get install sc
В Archlinux проверьте AUR.
Для других дистрибутивов вы можете скачать и собрать исходный код.
Использование sc
Как обычно, первый скриншот самый страшный. Но есть и хорошие новости: большинство горячих клавиш в sc совпадают с таковыми для vim (для поклонников Emacs это будет плохой новостью). Таким образом, вы можете перемещаться по ячейкам с помощью традиционных клавиш hjkl:
"h" - вправо
"j" - вниз
"k" - вверх
"l" - влево
Или вы можете использовать курсорные клавиши.
Вторая вещь, которую вы захотите сделать со своей электронной таблицей - ввести в нее какие-нибудь числа. Здесь нужно будет запомнить, что режим ввода данных немного отличается от того, к чему вы привыкли.
Для ввода числа в выбранную ячейку нажмите "=", а затем введите число.
Для ввода текста нажмите "<", затем введите текст.
Если вам нужно сохранить результаты своей работы, используйте:
P[name].sc
для сохранения данных в файл .sc.
Аналогично, с помощью
G[name]
вы загрузите данные из файла.
Если вы еще не догадались, выход из программы осуществляется с помощью команды "q".
Но что, еслли мы хотим ввести в таблице несколько формул? Как и во всех остальных электронных таблицах, они начинаются со знака "=", и ссылаются на другие ячейки по их координатам.
Например, чтобы рассчитать сумму двух первых ячеек, вводим:
=A0+B0
Для копирования содержимого ячейки установите на нее курсор и нажмите "ma". Затем перейдите в пустую ячейку и нажмите "ca".
Наконец, используя эту технику и предыдущий пример, мы можем расширить формулу сложения значений двух соседних ячеек с помощью команды:
[#]ca
где [#] - это просто количество ячеек, на которые мы хотим расширить формулу. Как вы могли заметить, это похоже на синтаксис vim, где [#][command] используется для повторения команды заданное количество раз. В нашем предыдущем примере:
3ca
расширит формулу сложения на следующие три ячейки в строке, задав им значения B0+C0, C0+D0 и D0+E0 соответственно.
Продвинутые возможности sc
Если вы знаете горячие клавиши vim, можете поэкспериментировать с ними в sc.
"c" - используется для обращения к столбу. Таким образом "dc" и "yc" - соответственно удаляют и копируют текущий столбец.
"r" - используется для обращения к строке. То есть "dr" и "yr" соответственно удаляют и копируют текущую строку.
Команда "g" для перехода к заданной строке в vim аналогично используется и в sc:
g[coordinate of a cell]
Например, "gC22" означает перейти к ячейке C22.
Ранее я говорил, что команды "ma" копирует ячейку. Если говорить точно, она сохраняет содержимое ячейки в переменной a, которую вы затем можете скопировать в другую ячейку с помощью команды "ca". Поэтому вы можете использовать и любые другие символы для сохранения содержимого в различных переменных: "mb", "mc", "md" и так далее.
Для получения более подробной информации можно в любое время ввести команду "?".
В заключение хочу отметить, что sc является одной из программ, о которых часто идут жаркие споры. Являются ли консольные электронные таблицы устаревшими, особенно в наше время, когда компьютеры обладают достаточной для беспроблемного запуска программ типа LibreOffice? Или наоборот, лучше придерживаться принципа использования простого инструмента для решения простых задач, сберегая ресурсы?
Я также слышал хорошие отзывы об oleo, которая по своей функциональности похожа на sc, но сам ее ни разу не пробовал.
http://rus-linux.net/MyLDP/consol/spreadsheet_calculator.html
|