Intereting Posts
Btrfs Как заменить отказавший жесткий диск на установке RAID1 без доступных портов SATA / root / bin / ffmpeg: ошибка при загрузке разделяемых библиотек: libtheoraenc.so.1: невозможно открыть файл общих объектов: нет такого файла или каталога Инициализируемый крючок Initramfs Строительство с sbuild и backports Как я могу получить предупреждение, когда моя батарея вот-вот умрет в Linux Mint? Как удалить определенный символ в строке, но только если в этой строке нет номеров в Linux «Нажмите ENTER или введите команду для продолжения»: почему я вижу это? Доступ к веб-сайту Груб медленно загружается с помощью SSD CentOS 7 – переименование сетевого интерфейса без перезагрузки не может создать обычный файл 'filename': Файл существует AWS Исходящие правила ACL влияют на входящие соединения ssh Экземпляр Docker не обнаружен в оболочке, несмотря на нормальную работу Как получить экран для запуска / загрузки .zprofile при запуске нового окна? Каковы требуемые заголовки x-kernel

Могу ли я преобразовать текстовый файл в электронную таблицу с линиями сетки, используя скрипт bash?

У меня есть информация ниже, и я хочу, чтобы она выглядела как электронная таблица с заголовком.

cat TEXT-FILE.txt SOMETHING5 : 11111111 : 1969-08-12 : 42.34 SOMETHING4 : 22222222 : 1969-08-12 : 700.12 SOMETHING3 : 333333333 : 1969-08-12 : 300.2 SOMETHING2 : 44444444444 : 1969-08-12 : 200.2 SOMETHING1 : 5555555555 : 1969-08-12 : 100.34 

Это насколько я получил с моим сценарием

 #!/bin/bash for file in ./TEST-FILE.txt do sed -i -e "s/:/|/g" $file sed -i '1iIdentify | Misc | Date | Amount | Confirmation ' $file done 

Выход теперь:

 Identify | Misc | Date | Amount | Confirmation SOMETHING5 | 11111111 | 1969-08-12 | 42.34 SOMETHING4 | 22222222 | 1969-08-12 | 700.12 SOMETHING3 | 333333333 | 1969-08-12 | 300.2 SOMETHING2 | 44444444444 | 1969-08-12 | 200.2 SOMETHING1 | 5555555555 | 1969-08-12 | 100.34 

Я не уверен, как сделать так, чтобы строки совпадали, также столбец «Подтверждение» не заполнен, так как в конечном итоге будет введена информация вручную.

Длинная история Длинная – я хотел, чтобы этот вывод был похож на правильную электронную таблицу, включая линии сетки. Никаких других вопросов, которые я нашел, точно не ответить на то, что я пытаюсь сделать.

Я не уверен, как сделать так, чтобы линии совпадали

Посмотрите на column .

Исходный файл

 $ cat columns.txt Identify | Misc | Date | Amount | Confirmation SOMETHING5 | 11111111 | 1969-08-12 | 42.34 SOMETHING4 | 22222222 | 1969-08-12 | 700.12 SOMETHING3 | 333333333 | 1969-08-12 | 300.2 SOMETHING2 | 44444444444 | 1969-08-12 | 200.2 SOMETHING1 | 5555555555 | 1969-08-12 | 100.34 

С колонкой

 $ column -t columns.txt Identify | Misc | Date | Amount | Confirmation SOMETHING5 | 11111111 | 1969-08-12 | 42.34 SOMETHING4 | 22222222 | 1969-08-12 | 700.12 SOMETHING3 | 333333333 | 1969-08-12 | 300.2 SOMETHING2 | 44444444444 | 1969-08-12 | 200.2 SOMETHING1 | 5555555555 | 1969-08-12 | 100.34 

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

Онлайн справочная страница здесь .


Я хотел, чтобы этот вывод был похож на правильную электронную таблицу

Если вы хотите сделать вещи еще более похожими на электронные таблицы, я бы посоветовал вам проверить Python и модуль beautifultable .

Используя вышеизложенное, вы можете (довольно просто) получить вывод, например:

 +----------+------+--------+ | name | rank | gender | +----------+------+--------+ | Jacob | 1 | boy | +----------+------+--------+ | Isabella | 1 | girl | +----------+------+--------+ | Ethan | 2 | boy | +----------+------+--------+ | Sophia | 2 | girl | +----------+------+--------+ | Michael | 3 | boy | +----------+------+--------+