当我使用 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
似乎认为您不需要包装输出,因此它会向终端询问其宽度和输出。 top
和 ps
的行为相似。
您可以通过 cat
管道输出来避免这种情况:
pstree | cat
编辑:啊,我明白你不想避免它,而是添加切碎。
一种简单的方法是通过 less -S
(或 less --chop-long-lines
,更详细些)管道化命令的输出。 (您可能希望将此与其他一些选项结合使用,请参阅手册页,具体取决于您的喜好)。
pstree | grep MDSImporte | less -SEX
将显示您的线条以终端尺寸截断。
关于bash - 如何将输出限制为终端宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820384/