Почему команда pipe “ l | grep ” 1 “ & Rdquo; получить неправильный результат?

Если вы хотите проверить журналы ошибок, установите LVM и проверьте, есть ли в /var/log/.

BTW, сервер Xen отлично работает в моей VMware VirtualMachine. И то же самое с VirtualBox VM.

http://blogs.citrix.com/2011/01/23/xenserver-in-virtualbox/

1
задан 28 December 2016 в 10:49

2 ответа

Ваши команды l и ls настроены как псевдонимы.

Когда вы запускаете их для вывода через grep "1" (используя |), каждая строка экрана, где отображается 1, отображается, а цвет 1 окрашен в красный цвет.

Поскольку имена файлов ., .., 2 и 22 отображаются на одной и той же строке экрана, они также выводятся на grep, но не отображаются красным цветом, который показывает [ f12].

:34m - это escape-последовательность для цвета, который не отображается правильно. Исходя из вашего пересмотренного вопроса с выходом type -a l и type -a, он может быть воспроизведен в моей системе. Обратите внимание, что вы должны изменить свой псевдоним от --color до --color=auto:

Выход цвета

6
ответ дан 23 May 2018 в 02:58
  • 1
    Объекты 1:34m не являются коррупцией, это escape-последовательности, используемые для раскраски текста. См. Мой ответ на эту часть;) – Sergiy Kolodyazhnyy 28 December 2016 в 09:24
  • 2
    @Serg Спасибо. Я переработал на основе пересмотренного вопроса с псевдонимами. – WinEunuuchs2Unix 28 December 2016 в 15:44

В вашем испытании вы вызывали свой псевдоним ls, таким образом, 1;34m и аналогичный шум, который исходил от окраски, и поскольку труба | получает все это в одной строке, grep соответствует файл 1 из этой строки и, следовательно, печатает эту строку. Это вы видите на экране.

Когда вы делаете такие вещи, всегда полезно вернуться к системной команде с 1 результатом на строку.

Чтобы избавиться из псевдонимов просто введите \ls и используйте параметр -1 для печати результатов, разделенных линиями.

$ \ls -1 | grep "1"
1
11

Примечание: метод обратной косой черты работает с каждой командой, \command просто вызывает неустановленную системную команду.

1
ответ дан 23 May 2018 в 02:58

Другие вопросы по тегам:

Похожие вопросы: