나는 달리고 있다
rpm -Vqf
각종 시스템 파일이 올바른지 확인하세요. 아래는 샘플 출력입니다.
S.5....T. c /etc/enviro
missing /var/run/abrt
file /etc/bluetooth is not owned by any package
파일의 전체 경로를 볼 수 있도록 출력이 아래와 같기를 원합니다. 권한이 /ownr/checksum...
정확합니까, 누락되었거나 패키지의 일부가 아닙니까?
/etc/enviro|S.5....T.
/var/run/abrt|missing
/etc/bluetooth|not owned
계속 지켜봤지만 awk
그 타당성을 놓을 수 없었다.
답변1
출력이 다음과 같다고 가정합니다.언제나제공하신 세 가지 예에서 볼 수 있듯이 다음이 작동합니다.
rpm -Vqf <arguments> | awk '/(\/[^/ ]+)+$/ {printf("%s|%s\n",$NF,$1);next} /is not owned/{printf("%s|not owned\n",$2)}'
이 호출은 awk
다음을 수행합니다.
- 만약 라인마치다파일 경로인 마지막 레코드(= 공백으로 구분된 문자열)를 인쇄 하려면 절대 파일 경로(예: a
/
뒤에 "슬래시가 아닌 문자"(공백 없음)가 여러 개 오고 패턴이 반복될 수 있음)를 사용하세요 . 그런 다음 첫 번째 기록이 나옵니다. 그런 다음 실행을 위해 다음 입력 라인으로 점프합니다(그렇지 않으면 동일한 입력 라인에 대해 여러 출력을 얻을 수 있습니다).printf
|
- 줄에 "소유되지 않음"이라는 문자열이 포함되어 있으면 두 번째 레코드(예: 파일 경로)를 인쇄합니다.출력이 항상 읽혀진다고 가정
file <name> is not owned ...
), 그 뒤에 고정 문자열 "notowned"가 옵니다.