GNU/Linux >> Znalost Linux >  >> Linux

Jak oříznout soubor na danou velikost pod Linuxem?

Možná budete chtít použít příkaz zkrátit:

truncate --size=1G test.txt

VELIKOST lze zadat jako bajty, KB, K, MB, M atd. Předpokládám, že požadovanou velikost můžete vypočítat ručně; pokud ne, pravděpodobně byste mohli použít příkaz stat k získání informací o aktuální velikosti souboru.


perl -we 'open( FILE, "< ./test.txt" ) && truncate( FILE, 8 ) && close(FILE);'

otevře soubor ke čtení. Chcete-li však soubor zkrátit, musíte jej upravit, takže popisovač souboru pouze pro čtení nebude fungovat. Musíte použít režim "upravit" ("+>" ).

Jako vedlejší problém mě vždy udivuje, když lidé nechají systémová volání tiše selhat a pak se ptají, co se stalo. nezbytné součástí diagnostiky problému je pohled na vytvořenou chybovou zprávu; i když tomu nerozumíte, velmi to usnadňuje život těm, které žádáte o pomoc.

O něco užitečnější by bylo následující:

perl -we 'open(FILE, "<", "./test.txt") or die "open: $!";
          truncate(FILE, 8) or die "truncate: $!";
          close(FILE);'

i když je pravda, že by to znamenalo pouze „neplatný argument“. Přesto je to užitečná informace, která vás mohla vést k závěru, že otevřený režim byl špatný (stejně jako u mě).


Můžete použít tail vyjmout posledních 1000 bajtů, příklad:

tail -c 1000 soubor> soubor2

-c vypíše konečných 1000 bajtů souboru, další možnosti:

mužský ocas

Chcete-li nahradit původní soubor souborem, který jste právě vygenerovali:

mv soubor2


Linux
  1. Jak používat příkaz tar pod Linuxem

  2. Jak naplánovat úlohy pomocí příkazu „at“ v systému Linux

  3. Jak obnovit odstraněný soubor pod Linuxem?

  1. Jak spravovat možnosti souborů Linux

  2. Jak najít soubor v Linuxu

  3. Jak spolehlivě určit typ souborového systému pod Linuxem?

  1. Jak zvýšit velikost swapu na Ubuntu Linux

  2. Jak přejmenovat soubor v Linuxu?

  3. Jak vytvořit soubor s danou velikostí v Linuxu?