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   |
+----------+------+--------+

おすすめ記事