寻找列格式化脚本,我觉得这可能是一行awk。理想情况下,我只需要一个小的shell脚本。

数据是制表符分隔的,每行中的每个单元格的长度都是可变的,当然,其中可能会有空格。

所以我们有这样的事情

dasj dhsahdwe dhasdhajks ewqhehwq dsajkdhas
e dward das dsaw das daswf
fjdk ewf jken dsajkw dskdw
hklt ewq vn1 daskcn daskw


应该以如下形式结束:

dasj dhsahdwe dhasdhajks ewqhehwq dsajkdhas
e dward das dsaw das daswf
fjdk ewf jken dsajkw dskdw
hklt ewq vn1 daskcn daskw


理想情况下,能够调整每个之间的硬间隔量。如果逐列查看,甚至更好,那么前导的短单元格并不会全部获得相同的正确填充。

不理想:

1 dhsahdwe dhasdhajks ewqhehwq dsajkdhas
2 das dsaw das daswf
3 ewf jken dsajkw dskdw
4 ewq vn1 daskcn daskw


理想:

1 dhsahdwe dhasdhajks ewqhehwq dsajkdhas
2 das dsaw das daswf
3 ewf jken dsajkw dskdw
4 ewq vn1 daskcn daskw

最佳答案

如果您使用的是BSD衍生的操作系统(包括Mac OS X),则column(1)及其-t选项可能会满足您的要求:

% column -t coltest
dasj  dhsahdwe  dhasdhajks  ewqhehwq  dsajkdhas
e     dward     das         dsaw      das        daswf
fjdk  ewf       jken        dsajkw    dskdw
hklt  ewq       vn1         daskcn    daskw

关于tabs - 制表符分隔的数据到填充列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/333315/

10-09 22:57