我有以下信息,我希望它看起来像在带有标题的电子表格中。
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 |
+----------+------+--------+