как можно объединить ряд команд grep, связанных друг с другом в один оператор grep?

Ответ @djeikyb не помог мне; Когда я это сделал, мой VNC-клиент не смог подключиться (и я использовал echo -n для base64 для кодирования моего пароля.)

Вместо этого я остановил vino-сервер, восстановил свой файл ~ / .gconf / desktop / gnome / remote_access /% gconf.xml (чтобы полностью отменить изменение), выполнил vino-preferences (из консоли) и ввел пароль моего подключения в диалоговом окне настроек, затем вышел из системы / зашел в систему (перезапустил мой vino-sever) .

Мой пароль «login» по умолчанию (на морском коньке), а мой «по умолчанию» keyring не имеет записи vino.

Теперь мой клиент может подключиться, t [] d3]

(Примечание: я использую последнее обновление для vino-сервера на Ubuntu 11.10, я думаю, что некоторые ошибки были исправлены в vino)

1
задан 26 August 2015 в 20:49

7 ответов

Проблема в том, что -e работает как or, а не как and. Вы можете сделать это в одной строке, но это довольно запутанно.

Для упрощения частей a и c (при условии, что порядок неизвестен):

grep -E 'a.*c|c.*a'

или

Следовательно, вы можете сделать

grep -E 'a.*c|c.*a' | grep -v 'd'

. Для одного выражения grep вам нужно убедиться, что нет d s до, после или между a и [ f12]:

grep -E '^[^d]*a[^d]*c[^d]*$|^[^d]*c[^d]*a[^d]*$'
1
ответ дан 24 May 2018 в 18:58

Вы можете использовать переключатель -x, который согласно [man] странице grep, «выберите только те совпадения, которые точно соответствуют всей строке».

В своем примере попробуйте: [ f3]

0
ответ дан 24 May 2018 в 18:58
  • 1
    Это будет работать, если бы я знал, как будет выглядеть вся строка, но не для чего-то вроде: tail -f /var/log/auth.log | grep sshd | grep " Failed password for " | egrep -v "определенные пользователи | ipaddress " – Keith Reynolds 17 August 2013 в 20:58

Вы можете использовать переключатель -x, который согласно [man] странице grep, «выберите только те совпадения, которые точно соответствуют всей строке».

В своем примере попробуйте: [ f3]

0
ответ дан 24 May 2018 в 18:58

Вы можете использовать переключатель -x, который согласно [man] странице grep, «выберите только те совпадения, которые точно соответствуют всей строке».

В своем примере попробуйте: [ f3]

0
ответ дан 24 May 2018 в 18:58

Вы можете использовать переключатель -x, который согласно [man] странице grep, «выберите только те совпадения, которые точно соответствуют всей строке».

В своем примере попробуйте: [ f3]

0
ответ дан 24 May 2018 в 18:58

Вы можете использовать переключатель -x, который согласно [man] странице grep, «выберите только те совпадения, которые точно соответствуют всей строке».

В своем примере попробуйте: [ f3]

0
ответ дан 24 May 2018 в 18:58

Вы можете использовать переключатель -x, который согласно [man] странице grep, «выберите только те совпадения, которые точно соответствуют всей строке».

В своем примере попробуйте: [ f3]

0
ответ дан 24 May 2018 в 18:58

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

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