824 votes

outil de bash pour obtenir la nième ligne d’un fichier

Y a-t-il une manière « canonique » de faire cela ? Je me sers `` qui fait le tour, mais je me demandais si il y a un outil de bash qui spécifiquement extrait une ligne (ou une série de lignes) d’un fichier.

EDIT : J’entends par « canonique » un programme dont la fonction principale qui fait.

1065voto

anubhava Points 172509

tête et pipe avec la queue sera lents pour un énorme fichier. Je dirais sed comme ceci :

Où NUM est le numéro de ligne que vous souhaitez imprimer.

401voto

jm666 Points 17312
<pre><code></code><p>imprimera la 2e ligne</p><pre><code></code></pre><p>ligne 2011 e</p><pre><code></code></pre><p>ligne 10 jusqu'à la ligne 33</p><pre><code></code></pre><p>1er et 3ème ligne</p><p>et ainsi de suite...</p><p><a href="http://stackoverflow.com/a/16246806/632407">http://StackOverflow.com/a/16246806/632407</a></p></pre>

65voto

fedorqui Points 42938

Avec `` c’est assez rapide :

Si cela n’est vrai, le comportement par défaut de est effectuée : .


Versions alternatives

Si votre fichier est énorme, vous feriez mieux `` après avoir lu la ligne requise. De cette façon vous gagnez du temps CPU.

Si vous voulez donner le numéro de ligne d’une variable de bash, que vous pouvez utiliser

28voto

David W. Points 49436

Wow, toutes les possibilités !

Essayez ceci :

ou l’autre de ces selon votre version de Awk :

(Vous devrez peut-être essayer le ou commande).

Y at-il un outil qui ne fait l’impression que cette ligne ? Pas un seul des outils standards. Cependant, `` est probablement la plus proche et plus simples à utiliser.

21voto

Steven Penny Points 18523
<pre class="lang-sh prettyprint-override"><code></code><p><a href="http://catonmat.net/blog/wp-content/uploads/2008/09/sed1line.txt">Scripts utiles d’une seule ligne pour sed</a></p></pre>

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