Получить все строки из результата, кроме последнего - PullRequest
1 голос
/ 19 октября 2019

Предположим, я удалю все файлы, кроме последнего

$ ls -l | sed "s/$USER/me/g" | nl
     1  total 72
     2  drwxrwxr-x  8 me me 4096 Oct 19 13:21 BackupAll
     3  drwxrwxr-x  5 me me 4096 Oct 19 13:21 BookShelf
     4  drwxrwxr-x  4 me me 4096 Oct 19 13:20 CodingEmacsModules
     5  drwxrwxr-x  4 me me 4096 Oct 19 13:23 content
     6  drwxrwxr-x  6 me me 4096 Oct 19 13:23 DataScienceRepo
     7  drwxrwxr-x  9 me me 4096 Oct 19 13:24 English
     8  drwxrwxr-x  3 me me 4096 Oct 19 13:23 FlaskProjs
     9  drwxrwxr-x  3 me me 4096 Oct 19 13:21 iEnterprise
    10  drwxrwxr-x  2 me me 4096 Oct 19 13:21 LibreOffice
    11  drwxrwxr-x 10 me me 4096 Oct 19 13:23 MyLand
    12  drwxrwxr-x  7 me me 4096 Oct 19 13:24 OrgMode
    13  drwxrwxr-x  2 me me 4096 Oct 19 13:36 posts
    14  drwxrwxr-x  4 me me 4096 Oct 19 19:54 primary.doom.d
    15  drwxrwxr-x 15 me me 4096 Oct 19 13:24 Programs
    16  drwxrwxr-x  2 me me 4096 Oct 19 13:21 Projects
    17  drwxrwxr-x 16 me me 4096 Oct 19 13:24 PubRepo
    18  drwxrwxr-x 11 me me 4096 Oct 19 13:23 quickstart
    19  -rwxrwxr-x  1 me me  409 Oct 19 13:30 #utility_list.md#

Это можно сделать с помощью косвенного решения:

  $ ls -l | sed "s/$USER/me/g" | head -18| while read line; do rm -rf $line; done

Как насчет, если не знать о числовых строкахпредыдущих команд.

Возможно ли получить все строки, кроме последней?

1 Ответ

1 голос
/ 19 октября 2019

В команде head есть простая функция.

Попробуйте ls -l | sed "s/$USER/me/g" | nl | head -n -1

Это отличается от head -1. Он покажет вам все, кроме последней строки https://linux.die.net/man/1/head

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...