Почему два почти idetical grep команды возвращают другой вывод: w/o и с именем файла

Если Вы выполняете Дугу Linux, я предполагаю, что Вы знаете, как установить rubygem. Смотрите на https://rubygems.org/gems/airstream - простой инструмент командной строки, который можно использовать для отправки удаленных и локальных файлов изображений и видеофайлов к ТВ яблока (протестированный с поколением 3). Если Вам нужен какой-либо отпуск справки комментарий к http://blog.lipautz.org/linux-and-apple-tv/.

6
24.11.2013, 00:19
2 ответа

Ваша оболочка расширяется /bin/*sh. Так, что Вы действительно делаете,

grep /bin/bash /bin/dash /bin/rbash /bin/rzsh /bin/sh /bin/zsh /etc/passwd

Таким образом, ищите строку /bin/bash в файлах /bin/dash, /bin/rbash, /bin/rzsh, /bin/sh, /bin/zsh и /etc/passwd.

(Сравните с выводом echo /bin/*sh /etc/passwd.)

С тех пор существует несколько файлов для поиска в, grep отчеты, в каком это нашло строку.

То, что Вы хотите, должно заключить Ваш критерий поиска в кавычки, таким образом, он не расширен оболочкой, и использовать надлежащее регулярное выражение:

grep '/bin/.*sh' /etc/passwd
11
27.01.2020, 20:23
  • 1
    Спасибо, это работает! перед этим я попробовал '/bin/*sh' - не работает. Я забыл немного, но RegExps.. забыл добавлять точку (любой символ) .* (однажды, ни один или многие). –  ALZ 23.11.2013, 19:09

Приблизительно, поскольку, в чем Вы нуждаетесь, можно использовать (-v):

➜  TestZone  sudo grep -v nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
me:x:1000:1000:me:/home/me:/bin/zsh
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

Grep был первоначально разработан для операционной системы Unix, но доступен сегодня для всех подобных Unix систем. Его название происходит от редактора, управляют g/re/p (глобально ищут регулярное выражение и печать), который имеет тот же эффект: выполнение глобального поиска с регулярным выражением и печати всех согласующих отрезков длинной линии.

Источник: wiki/Grep

0
27.01.2020, 20:23
  • 1
    -v nologin дает мне некоторых других пользователей системы как sync, halt, но мне нужны настоящие, пользователи –  ALZ 24.11.2013, 10:21

Теги

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