与通过管道传输到文件时相比,ag输出在终端中显得有所不同

肖恩·麦克西(Sean Mackesey)

当我运行ag命令以搜索文本文件时,在命令行上会得到如下所示的输出(未显示完整结果):

❯ ag dependency
140317155505.md
27:The Bundler dependencies API ...

140423193022_python_packages.md
61:`distutils` is part of the Python standard ....

输出中有换行符。但是,当我通过管道传输或重定向到文件时,会得到如下输出:

140317155505.md:27:The Bundler dependencies API...
140423193022_python_packages.md:61:`distutils` is part of the Python standard...

这里有一个多余的冒号而不是换行符。这是如何运作的?我认为这ag只是写到STDOUT而不知道STDOUT的实际目标-我以为它无法访问此信息是错误的吗?

塞巴斯蒂安

该程序ag(我不熟悉),可以使用系统调用

stdout_is_tty = isatty(1);

isatty()函数测试fd是否是指向终端的打开文件描述符。

这允许它根据写入的位置来修改输出。

我也认为我找到了相关的源代码部分

/* If we're not outputting to a terminal. change output to:
* turn off colors
* print filenames on every line
*/
if (!isatty(fileno(stdout))) {
  opts.color = 0;
  group = 0;
....

另请参阅man isatty

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

stdout 中的输出在 cmd 和 Python 控制台中有所不同

来自分类Dev

我无法将终端输出通过管道传输到文件

来自分类Dev

我无法将终端输出通过管道传输到文件

来自分类Dev

将终端的所有输入和输出通过管道传输到文件

来自分类Dev

从文件和管道读取时,Shell程序的行为有所不同

来自分类Dev

lscpu的输出在间接调用时有所不同吗?

来自分类Dev

通过套接字发送图片文件时,为什么字节有所不同?

来自分类Dev

与Google Maps相比,Google Maps Distance Matrix API返回的输出有所不同

来自分类Dev

为什么我从hexdump获得的输出与xxd相比有所不同?

来自分类Dev

与Google Maps相比,Google Maps Distance Matrix API返回的输出有所不同

来自分类Dev

SVN通过Eclipse合并与命令行相比有所不同

来自分类Dev

与.data中的符号相比,gdb对于.bss中的符号的行为有所不同

来自分类Dev

为什么.NET中的n层与其他语言相比有所不同

来自分类Dev

使用管道和Write-Output时顺序是否有所不同

来自分类Dev

从管道读取时,为什么“ sed q”的工作方式有所不同?

来自分类Dev

在PowerShell中将所有写入输出通过管道传输到相同的输出文件

来自分类Dev

是什么使输出有所不同?

来自分类Dev

在通过PropertyDescriptorCollection进行迭代时,为什么var的行为有所不同?

来自分类Dev

当站点是通过https服务器时,字体看起来有所不同

来自分类Dev

通过单击或箭头键选择下拉菜单时的行为有所不同

来自分类Dev

本地登录与通过ssh登录时,“ su用户”的行为有所不同

来自分类Dev

填充现有表时仅与完整文件有所不同

来自分类Dev

停止grep解析通过管道传输到文件的自身输出

来自分类Dev

如何将文件的输出通过管道传输到命令?

来自分类Dev

为什么Firefox中的Bootstrap 3日期输入与Chrome相比看起来有所不同?

来自分类Dev

保存为* .sh文件时,命令的行为有所不同

来自分类Dev

步进时VBA代码的行为有所不同

来自分类Dev

链接时,mcedit的运行方式有所不同

来自分类Dev

与没有文本的Div相比,没有文本的Div的对齐方式有所不同

Related 相关文章

  1. 1

    stdout 中的输出在 cmd 和 Python 控制台中有所不同

  2. 2

    我无法将终端输出通过管道传输到文件

  3. 3

    我无法将终端输出通过管道传输到文件

  4. 4

    将终端的所有输入和输出通过管道传输到文件

  5. 5

    从文件和管道读取时,Shell程序的行为有所不同

  6. 6

    lscpu的输出在间接调用时有所不同吗?

  7. 7

    通过套接字发送图片文件时,为什么字节有所不同?

  8. 8

    与Google Maps相比,Google Maps Distance Matrix API返回的输出有所不同

  9. 9

    为什么我从hexdump获得的输出与xxd相比有所不同?

  10. 10

    与Google Maps相比,Google Maps Distance Matrix API返回的输出有所不同

  11. 11

    SVN通过Eclipse合并与命令行相比有所不同

  12. 12

    与.data中的符号相比,gdb对于.bss中的符号的行为有所不同

  13. 13

    为什么.NET中的n层与其他语言相比有所不同

  14. 14

    使用管道和Write-Output时顺序是否有所不同

  15. 15

    从管道读取时,为什么“ sed q”的工作方式有所不同?

  16. 16

    在PowerShell中将所有写入输出通过管道传输到相同的输出文件

  17. 17

    是什么使输出有所不同?

  18. 18

    在通过PropertyDescriptorCollection进行迭代时,为什么var的行为有所不同?

  19. 19

    当站点是通过https服务器时,字体看起来有所不同

  20. 20

    通过单击或箭头键选择下拉菜单时的行为有所不同

  21. 21

    本地登录与通过ssh登录时,“ su用户”的行为有所不同

  22. 22

    填充现有表时仅与完整文件有所不同

  23. 23

    停止grep解析通过管道传输到文件的自身输出

  24. 24

    如何将文件的输出通过管道传输到命令?

  25. 25

    为什么Firefox中的Bootstrap 3日期输入与Chrome相比看起来有所不同?

  26. 26

    保存为* .sh文件时,命令的行为有所不同

  27. 27

    步进时VBA代码的行为有所不同

  28. 28

    链接时,mcedit的运行方式有所不同

  29. 29

    与没有文本的Div相比,没有文本的Div的对齐方式有所不同

热门标签

归档