哪些命令将输入制表符分隔的文本文件,并将每行削减为80个字符?
我有(有时)制表符分隔的数据的多行文本文件。我想输出文件,以便我可以浏览它-所以我只希望看到每行的前80个字符(我设计了文本文件,将重要内容放在每行的第一位)。 我以为我可以用cat读取文件的每一行,并将每一行发送到管道中的下一个命令: cat tabfile | cut -c -80 但这似乎是坏事。我试着胡闹,grep似乎可以工作-但后来我发现,不行(不是文件中的每一行都包含80多个字符)-看来,制表符被切为单个字符。 我试过了: cat tabfile | tr \t \040 | cut -c -80 通过消除空白可读性,即使那样会使我的数据有些混乱。但这没有用。都没有: cat tabfile | tr \011 \040 | cut -c -80 也许我使用的tr错误?我以前在tr上遇到过麻烦,想删除多个空格(似乎我在这台机器上可以访问的tr的版本有一个-s选项,用于压缩多个字符-我可能需要更多地使用它) 我确定如果弄乱了我可以使用perl,awk或sed或其他方法来执行此操作。 但是,我想要一个使用(POSIX?)常规命令的解决方案,以使其尽可能地可移植。如果最终使用tr,则可能最终会尝试将制表符转换为字符,也许要进行计算,削减计算量,然后将这些字符转换回制表符以进行输出。 它不必是一行,也不需要直接在命令行中输入-脚本就可以了。 关于选项卡文件的更多信息: 我使用制表符来中断字段,因为有一天我可能想将数据导入其他程序。所以我倾向于在内容之间只有一个选项卡。但是我也使用制表符将内容与垂直列对齐,以帮助查看纯文本文件时提高可读性。这意味着对于某些文本,我会在内容的末尾用空格填充,直到到达选项卡将使下一个字段与上下两个字段对齐的位置为止。 DarkTurquoise#00CED1海洋,天空,划艇自然 MediumSpringGreen#00FA9A对树魔术有用 青柠#00FF00仅用于春鸡和果肉