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

UnixForum





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

Руководство по команде tac для начинающих

Оригинал: Linux tac Command Tutorial for Beginners (with Examples)
Автор: Himanshu Arora
Дата публикации: 22 мая 2018 года
Перевод: А. Кривошей
Дата перевода: декабрь 2018 г.

Мы уже обсуждали команду cat в одной из наших предыдущих статей. Как вам известно, команда cat в основном используется для отображения содержимого файла. Однако существует команда, которая точно противоположна тому, что делает cat.

Этой утилитой является tac, и в этой статье мы обсудим ее основы, используя несколько простых для понимания примеров. Прежде чем мы это сделаем, необходимо отметить, что все примеры в этой статье были протестированы в Ubuntu 16.04 LTS.

Команда tac

Tac противоположна cat в том смысле, что вывод, который она производит, представлен таким образом, что последняя строка отображается первой, затем следует предпоследняя строка и так далее. Ниже приведен синтаксис утилиты:

tac [OPTION]... [FILE]...

И вот что говорит man-страница tac:

Записывает каждый FILE в стандартный вывод, сначала последнюю строку. Если FILE не задан, читает стандартный ввод.

Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам представление о том, как работает утилита.

Q1. Как использовать tac?

Просто запустите команду «tac» с именем файла в качестве параметра.

tac [filename]

Например:

tac file2

tac

Таким образом, вы можете видеть, что результат выполнения tac точно противоположен тому, что делает cat.

Q2. Как использовать в tac пользовательский разделитель (не новую строку)?

Для этого вам придется использовать опцию -s. Например, следующая команда

$ echo "1,2" | tac

даст следующий вывод:

1,2

Это потому, что новая строка является разделителем по умолчанию для tac.

Однако, эта команда:

$ echo "1,2" | tac -s

даст следующий вывод:

2
1,

так как разделитель был изменен.

Q3. Как изменить положение разделителя?

Если вы хотите, чтобы tac присоединял разделитель до, а не после вывода, используйте параметр -b.

Например:

echo "1,2" | tac -b -s

даст следующий вывод:

,2
1

Q4. Как сделать, чтобы tac принимал ввод из STDIN?

Если вы хотите, чтобы команда tac принимала ввод со стандартного ввода, просто не передавайте ей имя файла.

$ tac

После того, как вы запустите команду, как указано выше, она будет ждать ввода содержимого. Как только вы закончите с этим, нажмите Ctrl + d, чтобы показать, что все готово, и затем tac произведет вывод на STDOUT.

Заключение

Как вы можете видеть, работу tac легко понять. Количество параметров командной строки ограничено, и мы обсудили большинство из них здесь. Вы можете узнать больше о команде, прочитав ее man-страницу.