Bash命令截断文件末尾的字节

use*_*290 0 bash

我有一个文件,它总是在末尾附加固定的 16 字节垃圾字符集。

我想运行一个 bash 命令来删除最后 16 个字节。我发现了truncate,但是诸如此类的命令truncate -s 16 myfile.json会将myfile.json整个文件大小截断为 16 字节,这不是我想要的。是否有用于截断文件末尾字节的命令?

tha*_*guy 5

当命令执行的操作与您想要的非常接近时,检查man页面总是值得的:

SIZE 也可以以下列修饰字符之一作为前缀:'+' 扩展,'-' 减少,'<' 最多,'>' 至少,'/' 向下舍入为倍数,'%' 舍入多达多个。

所以:

truncate -s -16 myfile.json
Run Code Online (Sandbox Code Playgroud)