여러 Jar 파일이 포함된 폴더가 있습니다.
* dummy.jar
* myjar-xx.jar
* myjar-yy.jar
find를 사용하여 "myjar"로 시작하는 첫 번째 파일을 찾아야 합니다.
이제 다음을 사용하여 발견된 Jar 파일 내의 Manifest 파일 내용을 파악하고 싶습니다.찾다주문하다.
매니페스트 파일의 내용을 확인하려면 다음 명령을 사용하고 있습니다.
java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai
콘솔에 출력을 제공합니다 -
Version: 2
Name: MyName
Company: ABC
이제 콘솔에서 파일의 내용을 볼 수 있으므로 "Name"이 포함된 줄에서 "Na"가 있는지 어떻게 검색할 수 있습니까?
답변1
내가 올바르게 이해했다면 다음 명령을 의미합니다.
java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai
다음 출력을 반환합니다.
Version: 2
Name: MyName
Company: ABC
Name:
그리고 해당 출력 에 문자열로 시작하고 포함하는 줄이 포함되어 있는지 확인하려고 합니다 Na
( 제외 Na
) Name:
. 그렇다면 다음과 같이 할 수 있습니다.
java -jar $(find . -type f -name "myjar-*" -print | head -n 1) -ai |
| grep -q '^Name:.*Na' && echo YES
이 -q
플래그는 grep
일치 항목을 인쇄하지 않도록 지시합니다. 0
일치하는 항목이 발견되면 종료 코드만 반환합니다. 따라서 && command
일치에 성공하면 를 사용하여 명령을 실행할 수 있습니다. 여기서는 이것을 실행하고 있지만 echo YES
실행하려는 명령으로 변경할 수 있습니다.