Опускаючи перший рядок з будь-якого виводу команди Linux


167

У мене є вимога, де я хотів би опустити 1-й рядок з виводу, ls -latr "some path"оскільки мені потрібно видалити total 136з нижнього виводу

введіть тут опис зображення

Тому я написав, ls -latr /home/kjatin1/DT_901_linux//autoInclude/system | tail -qщо виключає 1-й рядок, але коли папка порожня, вона не опускає. Скажіть, будь ласка, як пропустити 1-й рядок у будь-якому виведенні команди Linux

Відповіді:



261

tailПрограма може зробити це:

ls -lart | tail -n +2

Ці -n +2кошти «почали прохід на другому рядку виведення».


1
Зауважте, що для деяких tailреалізацій потрібен -nпрапор для цього, як уtail -n +2
Мат.

Ви також можете використовувати find . -name . -o -ls -prune, але це дає дещо інший вихід.
Стипендіати Доналу

@Mat: Так здається, хоча це спрацювало без того, як я спробував (на OSX).
Стипендіати Доналу

він працював із coreutilsхвостом, але його застаріли, потім видалили. Тепер ви отримуєте tail: cannot open '+2' for reading: No such file or directory(coreutils 8.7). Сумно в тому, що інші реалізації не приймають -n...
Мат

4
@Mat: Деяким це потрібно, інші не візьмуть? Тьфу! Тьфу тьфу тьфу тьфу! Це огидно.
Стипендіати Доналу


20

Це швидкий спосіб Hacky: ls -lart | grep -v ^total.

В основному, видаліть будь-які рядки, які починаються з "усього", який у lsвисновку повинен бути лише першим рядком.

Більш загальний спосіб (для будь-якого):

ls -lart | sed "1 d"

sed "1 d" означає лише друкувати все, крім першого рядка.


3
Використовувати grepдля фільтрування для цього завдання загалом небезпечно; це може відповідати речам несподівано.
Стипендіати Доналу

Іноді так, і я думаю, що це не найкраще рішення ... але ця команда ls завжди веде записи з дозволами каталогу. Це не ідеально, оскільки grep продовжує перевіряти кожен рядок, а ls поводиться по-різному з іншими прапорами.
Джефф Ферланд

1
це просто семантика, але технічно це означає видалити перший потік з потоку.
Джон Моралес

сподіваюся, у вас немає файлу, який я б набрав у своєму імені, про яке ви хочете знати
Amias
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.