Bash 스크립트를 사용하여 텍스트 파일을 눈금선이 있는 스프레드시트로 변경할 수 있나요?

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

행을 일치시키고 열이 비어 있는지 확인하는 방법을 잘 모르겠습니다. 이렇게 하면 정보를 수동으로 입력하게 되기 때문입니다.

간단히 말해서, 이 출력이 눈금선을 포함하여 적절한 스프레드시트처럼 보이도록 하고 싶습니다. 나는 내가 하고 싶은 일에 대해 정확히 답해 주는 다른 질문을 찾지 못했습니다.

답변1

선을 일치시키는 방법을 잘 모르겠습니다.

구경하다 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   |
+----------+------+--------+

관련 정보