Разработка на ответе @shabunc, это использует Perl, чтобы разделить комментарии (включая встроенные комментарии), затем распечатать любые строки, содержащие что-либо кроме пробела.
$ perl -ne 's/;.*//; print if /\S/' data.txt
Объяснение:
s/;.*//
использует оператор замены (s///
) заменять экземпляры точки с запятой и всего после него на строке с пустой строкой.print if /\S/
печатает строку, если она соответствует regexp \S
, который является классом символов, соответствующим всем непробельным символам.Я склонился бы больше к выпуску Redhat. Вы могли использовать rpm -q --whatprovides
команда для определения названия пакета, который обеспечивает /etc/redhat-release
.
[tim@c5 ~]$ rpm -q --whatprovides /etc/redhat-release
centos-release-5-5.el5.centos
Если Вы не полагаете этому, то Вы могли посмотреть на подробную информацию пакета. Обратите внимание на Version
и Release
.
[tim@c5 ~]$ rpm -qi --whatprovides /etc/redhat-release
Name : centos-release Relocations: (not relocatable)
Version : 5 Vendor: CentOS
Release : 5.el5.centos Build Date: Sun 25 Apr 2010 04:25:31 PM PDT
Install Date: Thu 20 May 2010 04:07:47 PM PDT Build Host: builder10.centos.org
Group : System Environment/Base Source RPM: centos-release-5-5.el5.centos.src.rpm
Size : 35485 License: GPL
Signature : DSA/SHA1, Mon 26 Apr 2010 04:40:57 PM PDT, Key ID a8a447dce8562897
Summary : CentOS release file
Description :
CentOS release files
Если Вы все еще не доверяете тому, что Вы видите, Вы могли попытаться смотреть на
[tim@c5 etc]# rpm -qai | grep Release | awk -F' ' '{print $3}' | head -15
23.2.2
24.20060715
1.el5
35.el5
32.2.1.1
4
2.fc6
45.el5.centos
4.el5
1
2.el5
0.1
5.el5
1.el5
15.el5
Надо надеяться, Вы найдете своего рода шаблон, который отвечает на Ваш вопрос при поиске всей информации о пакете.
Удачи.
Обновление № 1:
Вы могли также попробовать:
[tim@c6 ~]# rpm -q --whatrequires \
$(rpm -ql \
$(rpm -q --whatprovides /etc/redhat-release)
) | grep -v ' '
initscripts-9.03.27-1.el6.centos.x86_64
Обновление № 2:
Я хотел удостовериться команда, которую я обеспечил в своем первом обновлении, работавшем правильно так, я вращал экземпляр RHEL5 в AWS. Похоже, что это работает.
[root@ip-10-172-23-67 ~]# rpm -q --whatrequires \
> $(rpm -ql \
> $(rpm -q --whatprovides /etc/redhat-release)
> ) | grep -v ' '
initscripts-8.45.30-3.el5_5.1
Возможно, можно выполнить одно из следующих действий:
% cat /proc/version
Linux version 2.6.35.14-106.fc14.x86_64 (mockbuild@x86-09.phx2.fedoraproject.org) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Wed Nov 23 13:07:52 UTC 2011
- или -
uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux