web-dev-qa-db-fra.com

Utilisation de la combinaison de "head" et "tail" pour afficher la ligne médiane du fichier sous Unix

Si j'ai un nom de fichier myownfile.txt qui contient 3 lignes de texte.

foo
hello world
bar

Je veux afficher la ligne au milieu qui est hello world en utilisant uniquement les commandes head et tail.

19
Ali
head -2 myownfile | tail -1 

devrait faire ce que tu veux

24
ennuikiller

head -2 affiche les 2 premières lignes d'un fichier

$ head -2 myownfile.txt
foo
hello world

tail -1 affiche la dernière ligne d'un fichier:

$ head -2 myownfile.txt | tail -1
hello world
4
user3287432

Je suis un peu en retard à la fête ici, mais une manière plus flexible de le faire serait d'utiliser awk plutôt que d'utiliser la tête et la queue.

Votre commande ressemblerait à ceci:

awk 'NR==2' myfile.txt

bonjour le monde

3
Sean

tail -2 myownfile.txt | head -1

il affichera la 2ème ligne.

1
Abhijit

Essayez head -2 | tail -1. C'est la dernière ligne (tail -1) du premier semestre + un (head -2).

1
Fred Foo