Omettre la première ligne de toute sortie de commande Linux


167

J'ai une exigence où je voudrais omettre la 1ère ligne de la sortie de ls -latr "some path"Depuis que je dois supprimer total 136de la sortie ci-dessous

entrez la description de l'image ici

J'ai donc écrit ls -latr /home/kjatin1/DT_901_linux//autoInclude/system | tail -qce qui excluait la 1ère ligne, mais lorsque le dossier est vide, il ne l'oublie pas. Veuillez me dire comment omettre la 1ère ligne dans n'importe quelle sortie de commande linux

Réponses:



261

Le tailprogramme peut faire ceci:

ls -lart | tail -n +2

Les -n +2moyens «commencent à passer sur la deuxième ligne de sortie».


1
Notez que certaines tailimplémentations nécessitent le -ndrapeau pour cela, comme danstail -n +2
Mat

Vous pouvez également utiliser find . -name . -o -ls -prune, mais cela produit une sortie quelque peu différente.
Donal Fellows

@Mat: Il semble donc que cela a fonctionné sans quand j'ai essayé (sous OSX).
Donal Fellows

il fonctionnait avec coreutilstail, mais il a été abandonné, puis supprimé. Vous obtenez maintenant tail: cannot open '+2' for reading: No such file or directory(coreutils 8.7). La chose triste est que les autres implémentations n'acceptent pas -n...
Mat

4
@Mat: Certains en ont besoin, d'autres ne le prendront pas? Pouah! Ugh ugh ugh ugh! C'est dégoutant.
Donal Fellows


20

Ceci est un moyen rapide aki: ls -lart | grep -v ^total.

En gros, supprimez toutes les lignes commençant par "total", qui en lssortie ne doit être que la première ligne.

Une manière plus générale (pour tout):

ls -lart | sed "1 d"

sed "1 d" signifie seulement tout imprimer sauf la première ligne.


3
Utiliser greppour filtrer pour cette tâche est dangereux en général; cela pourrait correspondre à des choses de manière inattendue.
Donal Fellows

Parfois oui, et je pense que ce n'est pas la meilleure solution ... mais cette commande ls mène toujours des entrées avec les permissions de répertoire. Ce n'est pas idéal car grep continue de vérifier chaque ligne, et ls se comporte différemment avec les autres indicateurs.
Jeff Ferland le

1
ce n'est que de la sémantique, mais techniquement, cela signifie supprimer la première ligne du flux.
John Morales

mieux espérer que vous n'avez pas de fichier avec le total dans son nom que vous voulez savoir
Amias
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.