没有这样的文件或目录

没有这样的文件或目录

我正在尝试一个命令,当我第一次输入它时,它告诉我:

diff: llet: No such file or directory

但当我第二次尝试时,它起作用了......有什么原因吗?

这是命令:rev tell > llet | diff tell llet | grep '^> ' | wc -l

答案1

按照书写方式,该命令没有多大意义(即使修复了拼写错误)。您正在llet通过重定向和并行创建,运行 diff 可能会在文件创建之前启动,并且可能会在 rev 完成之前使用该文件。

相反,请尝试以下替代方案之一:

创建文件,然后运行 ​​diff 而不是并行运行 diff:

rev tell > llet ; diff tell llet | grep '^> ' | wc -l

不要将 rev 的输出保存到文件中,只需将其直接发送到 diff:

rev tell | diff tell - | grep '^> ' | wc -l

将其保存到文件中同时进行比较:

rev tell | tee llet | diff tell - | grep '^> ' | wc -l

相关内容