gpt4 book ai didi

shell - 这个shell命令有什么作用?

转载 作者:行者123 更新时间:2023-12-04 08:42:26 30 4
gpt4 key购买 nike

我正在重写 GNU 的 wc使用另一种语言的实用程序,我遇到了这个命令,它应该导致 wc 输出 0 字节计数。
(dd ibs=99k skip=1 count=0; ./wc -c) < /etc/group
据我目前了解,dd在单独的(子)shell 中启动,然后 wc启动,然后/etc/group的内容被重定向到 shell 内?
dd命令使用 99kB 的输入块大小并在读取输入之前跳过其中之一?这就是我被绊倒的地方。

现在我的版本报告读取了大约 980 个字节,所以我想更好地理解这个命令,以便我的实用程序可以反射(reflect)这一点。

最佳答案

此命令 (dd ibs=99k skip=1 count=0; ./wc -c) < /etc/group产生一个子 shell (用于 (list) )并附加 /etc/group到那个子 shell 标准输入。

在该子 shell 内 dd命令以 99k 的输入块大小运行(并继承子 shell 的标准输入)跳过计数为 1 并阻止复制计数为 0。这将导致 dd99k进入其标准输入流并停止。完成后 wc然后运行(并继承子 shell 的标准输入)并报告要读取的流中剩余的字符数(除了 巨大的 组文件之外的所有文件都将是什么)。

是您的wc实现寻求回到文件句柄的开始?

关于shell - 这个shell命令有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703502/

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