Hvis Perl's truncate
-kommando ikke ændrer filens størrelse som forventet, kan du bruge alternative metoder til at reducere filens størrelse ved at skære den over på midten og kassere resten. Her er nogle trin og metoder, du kan følge:
Først skal du læse filens indhold ind i en variabel. Dette kan gøres ved hjælp af Perl's indbyggede funktioner.
open(my $fh, '<', 'filnavn.txt') or die "Kan ikke åbne fil: $!";
my $indhold = do { local $/; <$fh> };
close($fh);
Beregn midtpunktet af filens indhold for at finde ud af, hvor du skal skære filen over.
my $midtpunkt = int(length($indhold) / 2);
Brug substrings til at tage den første halvdel af filens indhold.
my $ny_indhold = substr($indhold, 0, $midtpunkt);
Skriv den reducerede fil tilbage til disken.
open(my $fh_ny, '>', 'filnavn.txt') or die "Kan ikke åbne fil: $!";
print $fh_ny $ny_indhold;
close($fh_ny);
Hvis du foretrækker at bruge systemkommandoer, kan du bruge dd
kommandoen i Unix-baserede systemer til at skære filen over på midten.
system("dd if=filnavn.txt of=ny_filnavn.txt bs=1 count=$(($(stat -c%s filnavn.txt) / 2))");
Hvis truncate
-kommandoen ikke virker som forventet, kan det skyldes:
Ved at følge disse trin kan du effektivt reducere filens størrelse ved at skære den over på midten og kassere resten, selvom Perl's truncate
-kommando ikke virker som forventet.
Har du brug for hjælp til filhåndtering eller programmering? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Gør dit projekt lettere ved at få professionel assistance, når du har brug for det!