2017-12-28 13 views
0

awk 또는 grep을 사용하여 아래 파일에서 사용 가능한 repos 만 추출하려고합니다. "yum repolist enabled"와 같은 기본 도구가 있지만 여전히 grep awk 또는 sed를 사용하여이 작업을 수행하려고합니다.사용 가능한 저장소 만 repo 파일에서 추출하는 방법은 무엇입니까?

출력 결과는 [] 안에있는 문자열이어야합니다. 예 : "red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-rpms"는이 파일에서 유일하게 활성화 된 repo입니다.

# 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

가능한 중복 https://stackoverflow.com/questions/19257597/find-specific-pattern-and-print-complete-text- block-using-awk-or-sed) – Cyrus

+0

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

+0

] 대괄호를 제거하고 싶지 않습니다. 내 대답을 보라. – vaettchen

답변

1
awk -v RS= -F '[][]' '/enabled = 1/{print $2}' file 
([특정 패턴과 AWK를 사용하여 인쇄 전체 텍스트 블록 또는 나오지도 찾기]의
0

난에서 그것을 가지고 어디 here이며, 대괄호 부분이 까다로운 발견

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

보십시오.

+0

하지만 사용 가능한 repos 만 추출해야합니다. –

관련 문제