Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Электронные таблицы в консоли 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

Как обычно, первый скриншот самый страшный. Но есть и хорошие новости: большинство горячих клавиш в 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, но сам ее ни разу не пробовал.