/ / shrink (obcinaj) plik od początku w systemie Linux - plik, obcinaj, zmniejsz

plik skrótu (skracania) od początku na linuksie - plik, obcięcie, skurcz

Czy jest to możliwe w Linuksie (i / lub na innym Uniksie)plik „zmniejszania” od początku? Chciałbym użyć go do trwałej kolejki (żadna istniejąca implementacja nie odpowiada moim potrzebom). Na końcu pliku wydaje mi się, że jest to możliwe dzięki funkcji truncate ().

Odpowiedzi:

-2 dla odpowiedzi № 1

Tak, możesz użyć cut lub tail aby usunąć części pliku.

cut -b 17- input_file
tail -c +17 input_file

Spowoduje to wyświetlenie zawartości pliku wejściowego zaczynając od 17 bajtu, skutecznie usuwając pierwsze 16 bajtów pliku. Zauważ, że cut przykład doda również nowy wiersz do wyniku.


-5 dla odpowiedzi nr 2

Skróciłem plik podany jako argument do 64 000 000 bajtów przy użyciu następującego skryptu Python:

#!/usr/bin/env python

import sys
import os

file = sys.argv[1]
f = os.open(file, os.O_RDWR)
os.ftruncate(f, 64000000)
os.close(f)