251 votes

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

J'ai une exigence où je voudrais omettre la 1ère ligne de la sortie de ls -latr "some path" puisque je dois supprimer total 136 de 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 -q qui excluait la 1ère ligne, mais lorsque le dossier est vide, il ne l'omet pas. S'il vous plaît dites-moi comment omettre la 1ère ligne dans n'importe quelle sortie de commande Linux

410voto

Donal Fellows Points 56559

Le programme tail peut faire ceci :

 ls -lart | tail -n +2

Le -n +2 signifie "commencer à passer par la deuxième ligne de sortie".

230voto

Fredrik Pihl Points 20944

Dirigez-le vers awk :

 awk '{if(NR>1)print}'

ou sed

 sed -n '1!p'

33voto

Jeff Ferland Points 9485
ls -lart | tail -n +2 #argument means starting with line 2

25voto

birryree Points 29165

C'est un moyen de piratage rapide : ls -lart | grep -v ^total .

Fondamentalement, supprimez toutes les lignes commençant par "total", qui dans la ls ne devraient être que la première ligne.

Une manière plus générale (pour n'importe quoi):

ls -lart | sed "1 d"

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

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