с новым содержанием, добавляемым правильно и сразу.
ажется простой задачей, но, используя duckduckgo, я не смог найти способ правильно делать то, что я пытаюсь.
Основной вопрос: как разделить вывод команды в linux или bash на несколько столбцов с помощью разделителя?
У меня есть файл, который выглядит так: (это просто упрощенный пример)
-----------------------------------
Some data
that varies in line length
-----------------------------------
-----------------------------------
More data that is seperated
by a new line and dashes
-----------------------------------
И так далее. Каждый раз, когда данные записываются в файл, они заключаются в черточки, отделенные пустой строкой от последнего блока. Длина строки данных варьируется. То, что я хочу, это в основном инструмент или способ использования bash для разделения файла на несколько столбцов, например:
----------------------------------- -----------------------------------
Some data More data that is seperated
that varies in line length by a new line and dashes
----------------------------------- -----------------------------------
Каждый столбец должен занимать 50% экрана, центрирование не требуется (как при выравнивании). Файлимеет быть разделеннымза блок, Разделение файла посередине или что-то подобное не сработает. Я хочу, чтобы блок 1 переместился в левый столбец, блок 2 - вправо, 3 - снова влево, 4 - вправо и так далее. Файл постоянно обновляется, и обновления должны быть немедленно записаны на экран. (В настоящее время я используюtail -f
)
Поскольку это звучит как довольно распространенный вопрос, я бы приветствовал общий подход к нему, а не конкретный ответ, который работает только для моего случая, поэтому люди из поисковых систем, которые ищут способ иметь двухколонный макет в bash, тоже получают некоторую информацию. Я пыталсяcolumn
а такжеpr
оба не работают как хотелось бы. (Я уточнил это в комментариях)
Редактировать: Чтобы было понятно, я ищуГенеральная подход на этом. Просматривая файл, получая данные между разделителем, помещая их в столбец A, получая следующий, помещая их в столбец B, и так далее.