gpt4 book ai didi

linux - 管道运算符是否修改其输入/输出?还是 ls 知道管道?

转载 作者:IT王子 更新时间:2023-10-29 00:32:22 27 4
gpt4 key购买 nike

考虑以下...当我在没有任何标志的情况下执行“ls”时,它会在一行中返回结果,如下所示:

me@myComp /cygdrive/c/test/
$ ls
folder1/ folder2/ folder3/

现在,如果我想 grep 某些东西的结果,说“2”,我得到以下结果:

me@myComp /cygdrive/c/test/
$ ls | grep 2
folder2/

它不应该返回整行吗?如果我使用 ls -l | 我希望得到这个结果grep 2.

在我看来,管道运算符(operator)正在以某种方式将输入更改为 grep,或者 ls 以某种方式知道管道并更改其自己的输出。

folder1/folder2/folder3/ 是一个字符串,不是吗?那么 grep 如何知道只返回 folder2/ 而不是 folder1/folder2/folder3/

最佳答案

请参阅ls 的联机帮助页,即标志-1:

-1 (The numeric digit ``one''.) Force output to be one entry per line. This is the default when output is not to a terminal.

如果要强制多列输出使用

-C Force multi-column output; this is the default when output is to a terminal.

所以要回答你的问题,是的,ls 知道输出的位置,并且它有明确定义的行为,这取决于它,你可以轻松覆盖。

关于linux - 管道运算符是否修改其输入/输出?还是 ls 知道管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100829/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com