是否可以从C中的文件开头删除N个字节?

yer*_*chu 5 c file

是否可以从C中的文件开头删除N个字节?

N仅为30个字节.

我无法复制文件,因为它们非常大(有时甚至是100 GB)

Mah*_*dsi 2

在 Linux 上,您可以创建一个指向另一个文件中的偏移量的环回设备。这是 unix.stackexchange 中的一个示例

#!/bin/bash
for ((i=0;i<10000;i++)); do
    printf "%7d\n" $i
done >/var/tmp/file
losetup -v -f -o 512 --sizelimit 512 /var/tmp/file
losetup -a
head -2 /var/tmp/file
echo ...
tail -2 /var/tmp/file
echo ===
head -2 /dev/loop0
echo ...
tail -2 /dev/loop0 
printf "I was here" > /dev/loop0
grep here /var/tmp/file
losetup -d /dev/loop0
Run Code Online (Sandbox Code Playgroud)

输出:

loop device: /dev/loop0
/dev/loop0: [0808]:136392 (/var/tmp/file), offset 512, size 512
      0
      1
...
   9998
   9999
===
     64
     65
...
    126
    127
I was here   65
Run Code Online (Sandbox Code Playgroud)