126 votes

Commande Linux (comme cat) pour lire un nombre spécifié de caractères

Existe-t-il une commande telle que cat dans linux qui peut renvoyer une quantité spécifiée de caractères d'un fichier?

Par exemple, j'ai un fichier texte comme:

 Hello world
this is the second line
this is the third line
 

Et je veux quelque chose qui rendrait les 5 premiers caractères, ce qui serait "bonjour".

Merci

209voto

Dan Points 20968

head fonctionne aussi:

 head -c 100 file  # returns the first 100 bytes in the file
 

..will extraire les 100 premiers octets et les renvoyer.

Ce qui est bien dans l’utilisation de head pour cela, c’est que la syntaxe de tail correspond:

 tail -c 100 file  # returns the last 100 bytes in the file
 

49voto

fcw Points 1164

Vous pouvez utiliser la commande dd pour extraire arbitraire flots d'octets.

Par exemple,

dd skip=1234 count=5 bs=1

copie des octets de 1235 à 1239 à partir de son entrée à sa sortie, et jeter le reste.

Pour obtenir juste les cinq premiers octets à partir de l'entrée standard, n':

dd count=5 bs=1

Notez que, si vous souhaitez spécifier le nom de fichier d'entrée, le dd a l'ancienne argument de l'analyse, de sorte que vous feriez:

dd count=5 bs=1 if=filename

Notez également que le dd avec beaucoup de détails annonce ce qu'il a fait, de manière à jeter loin, faire:

dd count=5 bs=1 2>&-

ou

dd count=5 bs=1 2>/dev/null

11voto

gimel Points 30150

tête:

Nom

la tête la sortie de la première partie de fichiers

Synopsis

tête [OPTION]... [FICHIER]...

Description

Imprimer les 10 premières lignes de chaque FICHIER sur la sortie standard. Avec plus d'un FICHIER, faites-la précéder avec un en-tête donnant le nom de fichier. Avec pas de FICHIER, ou lorsque FICHIER, lire l'entrée standard.

Les arguments obligatoires à longs sont obligatoires pour les options courtes, trop.
-c, --octets=[-]N imprimer les N premiers octets de chaque fichier; avec le leader ' - ' et l'impression de tous, mais le dernier N octets de chaque fichier

3voto

Zathrus Points 5385

la tête ou la queue peuvent aussi le faire:

tête -c X

Imprime les X premiers octets (pas nécessairement les caractères s'il s'agit d'un fichier UTF-16) du fichier. tail fera la même chose, à l'exception des X derniers octets.

Ceci (et coupé) sont portables.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X