rubo77 Asked: 2024-01-08 06:07:33 +0800 CST2024-01-08 06:07:33 +0800 CST 2024-01-08 06:07:33 +0800 CST “截断”中的“最多”修饰符是什么? 772 手册显示truncate我可以添加<“最多”。 这个是来做什么的? 这听起来像是我的默认设置。 truncate 2 个回答 Voted Chris Davies 2024-01-08T06:49:51+08:002024-01-08T06:49:51+08:00 让我们从两个文件开始, 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 MiB ”。 Best Answer rubo77 2024-01-08T06:28:20+08:002024-01-08T06:28:20+08:00 如果文件较小,则不< truncate添加零字节到文件末尾,直到达到大小。 所以这个例子可能是大多数情况下你想要的: truncate -s '<1M' filename 这将仅保留文件的前 1MB。 要仅保留文件的末尾,您可以使用tail: tail -n 1000 filename > tmpfile && mv tmpfile filename
让我们从两个文件开始,
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 MiB ”。如果文件较小,则不
<
truncate
添加零字节到文件末尾,直到达到大小。所以这个例子可能是大多数情况下你想要的:
这将仅保留文件的前 1MB。
要仅保留文件的末尾,您可以使用
tail
: