2017-12-28 29 views
0

Ich versuche nur die aktivierten Repos aus der Datei mit awk oder grep zu extrahieren. Ich weiß, dass es das native Werkzeug dafür gibt, wie "yum repolist enabled", aber ich möchte das immer noch mit grep awk oder sed machen.Wie wird nur das aktivierte Repository aus einer Repo-Datei extrahiert?

Die Ausgabe sollte mit der Zeichenfolge innerhalb der [] resultieren. zum Beispiel: "Red-Hat-Enterprise-Linux-Scalable-Dateisystem-für-Rhel-6-Berechtigung-RPMs", ist das einzige aktivierte Repo in dieser Datei.

# cat /etc/yum.repos.d/redhat.repo 
[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-rpms] 
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (RPMs) 
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/os 
enabled = 1 
gpgcheck = 1 
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
sslverify = 1 
sslcacert = /etc/rhsm/ca/redhat-uep.pem 
sslclientkey = /etc/pki/entitlement/key.pem 
sslclientcert = /etc/pki/entitlement/11300387955690106.pem 

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-source-rpms] 
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (Source RPMs) 
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/source/SRPMS 
enabled = 0 
gpgcheck = 1 
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
sslverify = 1 
sslcacert = /etc/rhsm/ca/redhat-uep.pem 
sslclientkey = /etc/pki/entitlement/key.pem 
sslclientcert = /etc/pki/entitlement/11300387955690106.pem 

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-debug-rpms] 
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (Debug RPMs) 
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/debug 
enabled = 0 
gpgcheck = 1 
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
sslverify = 1 
sslcacert = /etc/rhsm/ca/redhat-uep.pem 
sslclientkey = /etc/pki/entitlement/key.pem 
sslclientcert = /etc/pki/entitlement/11300387955690106.pem 
+0

Mögliche Duplikat [Finden Sie bestimmte Muster und Druck kompletten Textblock mit awk oder sed] (https://stackoverflow.com/questions/19257597/find-specific-pattern-and-print-complete-text- block-using-awk-or-sed) – Cyrus

+0

'awk '/ \ [/' infile' – vaettchen

+0

Ich habe nicht gesehen, dass Sie die eckigen Klammern auch entfernen möchten. Siehe meine Antwort. – vaettchen

Antwort

1
awk -v RS= -F '[][]' '/enabled = 1/{print $2}' file 
0

gefunden Versuchen

awk '/\[/' infile | sed 's/[][]//g' 

ich den Platz heikel Klammern Teil, here ist, wo ich es her hatte.

+0

aber ich muss nur die aktivierten Repos extrahieren –

Verwandte Themen