2013-04-01 2 views

ответ

1

Использования показать только согласующую часть линии (-o), совпадающие с # следует один или более (+) цифры ([0-9]):

uname -v | grep -o '#[0-9]\+' 
+1

спасибо. 'uname -v | grep -o '[0-9] \ +' 'Мне нужен только номер. – CCC

2

Как насчет:

[[email protected] ~]$ echo '#34 PREEMPT ...' | sed 's/^#\([0-9]\+\).*/\1/' 
34 

Вы также можете сделать это проще с -r:

sed -r 's/^#([0-9]+).*/\1/' 
+0

спасибо: 'uname -v | sed 's/^ # \ ([0-9] \ + \). */\ 1 /' 'эта работа для меня. Мне нравится sed, но нулевые знания об этом. – CCC

+0

@iAsk Я просто об этом узнал. – cnicutar

+0

отлично, вернулась к моей программе, только раз использую ее. Я буду отмечать @Johnsyweb как ответ, поскольку вы знаете, что оба ответа верны. Я тоже голосую за ваш ответ. – CCC

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