我的数据格式如下:
我的主要问题是,我有一个文件,其字段/列中的数据太长了。
如果我只是显示输出(通过命令filename.xls | awk -F“|”'{print $ 1,$ 2,$ 3)),那么看起来并不好......并且阅读非常复杂。
如:
fghfhgjhhhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhkk
....是否可以设置FIELD WIDTH ??? 由于 更新... ghoti 和 tripleee (如果不清楚,请放大)
输入文件是tab delimeted ......
答案 0 :(得分:2)
使用awk的substr()函数。例如: awk'{print substr($ 3,0,10)}'
man awk 了解详情。
答案 1 :(得分:2)
从shell中,您可以使用“fmt”命令将文本换行到多个列:
[ghoti@pc ~]$ text="dfgkjfd vonhsadoi djo asdoi sdojvdjkdo soij dsmioo broingli."
[ghoti@pc ~]$ printf '%30s\n' | tr \ -
------------------------------
[ghoti@pc ~]$ fmt -30 <<<"$text"
dfgkjfd vonhsadoi djo asdoi
sdojvdjkdo soij dsmioo
broingli.
[ghoti@pc ~]$
您应man fmt
验证环境中的命令行选项。 <<<Text
表示法使用bash
表示法,并不一定如何使用此命令。
表格中的布局更复杂,单靠awk无法完成。