在输入文件中键入此列命令时,出现以下错误
column -t text.txt > output
column: line too long
column: line too long
column: line too long
column: line too long
column: line too long
column: line too long
当我查看文件输出时,似乎文件的前半部分(从左到右)没有打印。
有没有办法绕过这个错误?有没有办法在没有这个错误的情况下准确地做命令本来会做的事情?
样本输入(真实的输入~640列)
column1 column2 column3 column4
03 2 45 3
5 6 7 8
示例输出(真实的输出~640列)
column1 column2 column3 column4
03 2 45 3
5 6 7 8
3条答案
按热度按时间wljmcqd81#
您可以尝试一个简单的awk实现:
ef1yzkbh2#
另一种方法是将该行拆分为数组。该行太长,
column
不会完整打印该行:这将正确打印它:
aamkag613#
从@pestophagous发布这条评论,因为它是一个合法的答案,它回答了问题 * 为我 *:
对于像我这样的人谁看到“线太长”,即使是在非常短的线:如果一个文件的最后一行没有以任何换行符结束,你也会看到这个错误。2(或者,更普遍地说,如果你通过管道传送到列的STDIN的最后一个字节没有以换行符结束)
在我自己的案例中,我通过在前面添加一个小的
sed
命令解决了这个问题: