GNU/Linux >> Tutoriels Linux >  >> Linux

Comment couper un fichier à une taille donnée sous Linux ?

Vous pouvez utiliser la commande truncate :

truncate --size=1G test.txt

SIZE peut être spécifié en octets, Ko, K, Mo, M, etc. Je suppose que vous pouvez calculer la taille souhaitée à la main ; sinon, vous pouvez probablement utiliser la commande stat pour obtenir des informations sur la taille actuelle du fichier.


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

ouvre le fichier en lecture. Cependant, pour tronquer le fichier, vous devez le modifier, donc un descripteur de fichier en lecture seule ne fonctionnera pas. Il faut utiliser le mode "modifier" ("+>" ).

En parallèle, cela m'étonne toujours lorsque les gens laissent les appels système échouer en silence, puis demandent ce qui ne va pas. Un essentiel une partie du diagnostic d'un problème consiste à examiner le message d'erreur produit ; même si vous ne le comprenez pas, cela facilite grandement la vie de ceux à qui vous demandez de l'aide.

Ce qui suit aurait été un peu plus utile :

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

bien qu'il soit vrai que cela n'aurait signalé qu'un "argument invalide". Néanmoins, il s'agit d'informations utiles qui pourraient bien vous avoir amené à la conclusion que le mode ouvert était erroné (comme ce fut le cas pour moi).


Vous pouvez utiliser tail pour couper les 1000 derniers octets, exemple :

tail -c 1000 fichier> fichier2

le -c affiche les 1000 derniers octets du fichier, pour plus d'options :

queue d'homme

Pour remplacer le fichier d'origine par le fichier que vous venez de générer :

fichier mv2 fichier


Linux
  1. Comment gérer les capacités des fichiers Linux

  2. Comment trouver un fichier sous Linux

  3. Comment augmenter la taille d'échange sur Ubuntu Linux

  4. Comment utiliser la commande tar sous Linux

  5. Comment planifier des travaux avec la commande 'at' sous Linux

Comment monter un fichier ISO sur Linux

Comment utiliser du Command sous Linux

Comment utiliser la commande Truncate sous Linux

Comment créer un lien symbolique vers un fichier sous Linux

Comment afficher la taille du fichier au format lisible par l'homme (Ko, Mo, Go) dans le terminal Linux

Comment obtenir la taille d'un fichier/dossier avec SSH sous Linux ?