bash - 如何将输出限制为终端宽度

标签 bash shell

当我使用 pstree 时,我看到行只达到终端宽度(即没有自动换行),但是当我 grep 输出时,它确实裹。它使用什么功能来改变这种行为?

bash$ pstree
\--= 76211 _spotlight /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker MDSImporte
bash$ pstree | grep MDSImporte
\--= 76211 _spotlight /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker MDSImporterWorker com.apple.Spotlight.ImporterWorker.89

最佳答案

pstree 似乎认为您不需要包装输出,因此它会向终端询问其宽度和输出。 topps 的行为相似。

您可以通过 cat 管道输出来避免这种情况:

pstree | cat

编辑:啊,我明白你不想避免它,而是添加切碎。

一种简单的方法是通过 less -S(或 less --chop-long-lines,更详细些)管道化命令的输出。 (您可能希望将此与其他一些选项结合使用,请参阅手册页,具体取决于您的喜好)。

pstree | grep MDSImporte | less -SEX

将显示您的线条以终端尺寸截断。

关于bash - 如何将输出限制为终端宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820384/

相关文章:

bash - -bash : vim: command not found

linux - 从文件中打印 IFS 值

bash - 如何在 bash 命令替换中转义单引号字符

linux - Bash:更新文件中的变量

用于设置临时 SSH 隧道的 Bash 脚本

android - 当/system/bin/sh 丢失时,如何在 android 上获得一个可用的 adb shell?

Linux - 在特定时间启动 recordmydestop

multithreading - 多线程 BASH 编程 - 通用方法?

python 脚本参数在 Hudson Execute Shell 步骤中被误解

linux - 如何在其中包含重启命令的 shell 文件中取回控制权