Как выбрать номер?

Вы можете использовать tee с заменой процесса > () :

tail -f -n 20 file.log | tee >(grep 'pattern')

Это покажет вам последние 20 строк file.log , а затем результат grep .

0
23.01.2019, 22:57
6 ответов
$ echo 'CentOS Linux release 5.6.1804 (Core)'|awk '{print $4}'|awk -F '.' '{print $1}'
5

Нужно ли говорить больше?

0
28.01.2020, 02:23

Есть так много способов, вот один из них:

cat /etc/redhat-release | cut -d " " -f4 | cut -d. -f1

Проще было бы использовать что-то, что подготовлено именно для этого.:

[user@server]$ source /etc/os-release && echo $CENTOS_MANTISBT_PROJECT_VERSION
7
0
28.01.2020, 02:23

Если на вашем компьютере с CentOS установлено redhat-lsbили redhat-lsb-core:

lsb_release -sr | cut -d '.' -f 1

Это позволит получить релизную версию (только )с помощью команды lsb_release, а затем cutвывести бит перед первой точкой.

На 16.04компьютере с Ubuntu:

$ lsb_release -sr | cut -d '.' -f 1
16
2
28.01.2020, 02:23

Использование awk:

awk -F '[.]' '{print $4}' /etc/redhat-release

Использование sed:

sed -E 's/[ Aa-Zz]*([0-9]+).*/\1/' /etc/redhat-release

Использование grep:

grep -Eo ' [0-9]' /etc/redhat-release
1
28.01.2020, 02:23

sed -Ee's/^. *([0 -9.]+ ). *$/\1/' /etc/redhat -release |cut -f1,1 -d.

Команда Sed извлекает полный номер версии (, такой же, как ваш AWK, поэтому вы можете использовать и его ), а вторая извлекает первое поле из него, используя '.' как разделитель.

, так что вы также можете использовать :awk '{print $4}' /etc/redhat -release |cut -f1,1 -d.

0
28.01.2020, 02:23

Я бы сделал что-то похожее на это. На моей коробке RH7:

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)

$ cut -f 7 -d " " /etc/redhat-release
7.5

$ cut -f 7 -d " " /etc/redhat-release | IFS=. read MAJOR MINOR RELEASE

$ echo $MAJOR $MINOR $RELEASE
7 5

$

Теперь у вас есть все компоненты сборки в env var, к которым можно обращаться на досуге. Есть более сложные способы получить исходные данные, но я думаю, что это выходит за рамки этого вопроса, который просто извлекает компоненты строки версии с точками.

0
28.01.2020, 02:23

Теги

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