2011-12-29 6 views
-1

Я хотел бы, чтобы извлечь из UID/файла и т.д./пароль, который выглядит как this-экстракт UID из/и т.д./пароль с помощью регулярных выражений

www-data:x:33:33:www-data:/var/www:/bin/sh 

Проблема я столкнулся, что даже если я соответствовать первым 33 , второй 33 (GID) также подбирается. Как я только встречаю первое появление?

До сих пор я this- [\d]+

+0

Вы можете ограничить ваш помощник регулярного выражения только в одном матче? – alex

+0

Какое регулярное выражение вы используете? – wadesworld

+0

обновлен с тем, что у меня есть сейчас – user837208

ответ

0

Вы должны использовать притяжательные-квантор:

Попробуйте

[\d]+? 
0

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

$ grep x:33 /etc/passwd 

См shadow password подробную информацию о том x.

Вы не сказали нам, что вы пытались сделать на самом деле, поэтому я предположу, что вы можете посмотреть справочную страницу man id.

Если это только UID, что вы заинтересованы в, то вы можете использовать cut:

$ cut -f 3 -d: /etc/passwd 
+0

Я пытаюсь извлечь UID из файла/etc/passwd – user837208

Смежные вопросы