我正在尝试一个命令,当我第一次输入它时,它告诉我:
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