没有换行的猫文件

在* nix中,如何显示(cat)没有换行的文件:更长的行应该被剪切,以便它们适合屏幕的宽度。

Solutions Collecting From Web of "没有换行的猫文件"

请注意, cut接受一个文件名作为参数。

这似乎为我工作:

 watch 'bash -c "cut -c -$COLUMNS file"' 

为了测试,我添加了一个右边距:

 watch 'bash -c "cut -c -$(($COLUMNS-10)) file"' 

当我调整我的终端时,截断更新为匹配。

您可能正在寻找fmt

 fmt file 

这非常积极地重新格式化您的文本,所以它可能做比你想要的更多。

或者, cut命令可以将文本剪切成特定的列宽,丢弃超出右边距的文本:

 cat file | cut -c1-80 

另一个方便的选项是less -S命令,它显示一个文件在全屏幕窗口左/右滚动长行:

 less -S file 

正如其他人所说的,答案是cut -c ... ,但为了增加一些动态,我更喜欢这个:

cat file.txt |cut -c -$(tput cols)

以较少的长度换行。 默认是换行。

 - `less file` - in file type `"-S"` to toggle to truncate on line width - to toggle back `"-S"` again. 

cut的使用没有考虑到制表符被认为是单个字符\t但他们被打印为8个空格。 因此,带有制表符的文件将被切割成不同的感知列。

less -S优化地截断文本,也存在制表符,但是AFAIK不能用于非交互式地打印“切碎的”文件。

一个可行的解决方案是通过expand将制表符转换为空格,然后cut输出: expand < file | cut -c -$(tput cols) expand < file | cut -c -$(tput cols)