“截断”中的“最多”修饰符是什么?

“截断”中的“最多”修饰符是什么?

的手册truncate显示我可以添加<“最多”。

这个是来做什么的?

这听起来像是我的默认设置。

答案1

让我们从两个文件开始,

  • 1M.dat- 1 MiB 数据(使用 生成truncate --size 1M 1M.dat
  • 10M.dat- 10 MiB 数据(使用 生成truncate --size 10M 10M.dat

truncate --size 5M {file}首先考虑应用于这两个文件的命令。尽管第二个文件将按预期被截断,但第一个文件将被截断增加大小以达到所需的 5 MiB 文件长度。

truncate --size '<5M' {file}现在考虑应用于这两个文件的命令。第二个文件仍将按预期被截断,但第一个文件将保持不变,因为它的长度已小于 5 MiB。将命令读为“将文件截断为最多5 兆字节”。

答案2

如果文件较小,则不< truncate添加零字节到文件末尾,直到达到大小。

所以这个例子可能是大多数情况下你想要的:

truncate -s '<1M' filename

这将仅保留文件的前 1MB。

要仅保留文件的末尾,您可以使用tail

tail -n 1000 filename > tmpfile && mv tmpfile filename

相关内容