替换文件中特定位置的值

替换文件中特定位置的值

有人可以帮我吗?

如何使用 AWK 命令在 Unix 脚本中将毒药 25 (25, 26, 27) 处的 3 位数字值从 478 替换为 645。提前致谢。

答案1

这个问题有点不清楚“位置 25”的含义,但这实际上是一项dd非常擅长的工作,因为它使用字节位置而不是行:

current=$(dd if=file bs=1 skip=25 count=3 2>/dev/null)
(( current == 478 )) && dd if=<(printf 645) of=file bs=1 seek=25 conv=notrunc

如果“位置 25”的定义是 1 索引而不是 0 索引,请使用“24”而不是“25”。

相关内容