Команды Linux · 2 min read · Sep 21, 2025

Учебник по команде tac в Linux для начинающих (с примерами)

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

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

Команда tac в Linux

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

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

А вот что говорит страница man для tac:

Запишите каждый FILE в стандартный вывод, последняя строка первой. Без FILE или когда FILE - , читайте стандартный ввод.

Следующие примеры в формате вопрос-ответ должны дать вам хорошее представление о том, как работает этот инструмент.

Вопрос 1. Как использовать tac?

Просто выполните команду ‘tac’ с именем файла в качестве ввода.

tac [filename]

Например:

tac file2

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

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

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

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

echo "1,2" | tac

Произвела следующий вывод:

1,2

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

Однако следующая команда:

echo "1,2" | tac -s ,

производит следующий вывод:

2  
1,

Это потому, что теперь разделитель был изменен.

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

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

Например:

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

производит следующий вывод:

,2  
1

Вопрос 4. Как заставить tac принимать ввод из STDIN?

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

tac

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

Заключение

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.