当前位置: 首页 > 面试题库 >

为什么“排序文件1>文件1”不起作用?

沈翰
2023-03-14
问题内容

当我尝试对文件进行排序并将其输出保存在自身中时,就像这样

sort file1 > file1;

file1的内容将被完全删除,而当我尝试使用“ tee”命令执行同样的操作时

sort file1 | tee file1;

它运行良好 [ed:仅对具有幸运时机的小文件“运行良好”,会在大文件上或在无用的进程调度中导致数据丢失]
,即它会覆盖file1本身的排序输出并在标准输出中显示。

有人可以解释为什么第一种情况不起作用吗?


问题答案:

它不起作用,因为’>’重定向意味着截断,并且为了避免sort在重定向到文件之前将整个输出保留在内存中,bash会在运行之前截断并重定向输出sort。因此,file1文件的内容将在被sort读取之前被截断。



 类似资料:
  • Be on your guard! If another disciple sins, you must rebuke the offender, and if the same person sins against you seven times a day, adn turns back to you seven times and says, 'I repent,' you must fo

  • 问题内容: 下面的简短bash脚本列出了给定目录及其子目录中的所有文件和目录。脚本中的意思是什么?请给我一些参考。谢谢 问题答案: 这是第一个参数的位置,被视为目录 在bash脚本参数文件传递到脚本(这是脚本的名称),然后,,…要访问所有的人,你既可以使用自己的标签或使用该组的结构之一。对于组构造,有和。(将所有参数视为一个块,并以分隔)

  • 通常每一个 .cc 文件都有一个对应的 .h 文件. 也有一些常见例外, 如单元测试代码和只包含 main() 函数的 .cc 文件. 正确使用头文件可令代码在可读性、文件大小和性能上大为改观. 下面的规则将引导你规避使用头文件时的各种陷阱. 1.1. Self-contained 头文件 小技巧 头文件应该能够自给自足(self-contained,也就是可以作为第一个头文件被引入),以 .h

  • 问题内容: 这是该Java文件的内容: 问题答案: 这些是保存匿名内部类的文件。 在你的示例中,包含一个顶级类(称为)和一个匿名内部类,它们将存储在中。 请注意,包含匿名内部类的文件的确切名称尚未标准化,并且可能会有所不同。但是实际上,除了这里描述的方案之外,我还没有看到其他方案。 的值特定主体也是匿名内部类: 枚举常量的可选类主体隐式定义了一个匿名类声明(第15.9.5节),该声明扩展了直接封闭

  • Be on your guard! If another disciple sins, you must rebuke the offender, and if the same person sins against you seven times a day, adn turns back to you seven times and says, 'I repent,' you must fo

  • 错误: 无法初始化主类 com.telegram.client.myClasses.Main 由以下原因引起: java.lang.NoClassDefFound错误: 组织/电报/电报机器人/泛型/长PollingBot 我做专家安装,然后运行 jar 文件,安装有一些警告,但不是错误。所以当我运行jar文件时,它会抛出这个警报。我不在我的项目中使用这个类,我不明白为什么它不起作用。P.S 抱歉