모든 파일(.war)을 반복하고 .war에서 특정 jar을 삭제하는 방법

모든 파일(.war)을 반복하고 .war에서 특정 jar을 삭제하는 방법

안녕하세요. .war 파일 내 webapps 폴더에 있는 모든 log4j jar를 재귀적으로 삭제해야 합니다. webapps/에 10개의 .war 파일이 있고 .jar 파일이 있으며 단일 명령을 사용하여 .war에서 .jar을 제거해야 한다고 가정합니다. 전쟁에서 jar를 삭제하는 방법을 알고 있지만 jar 파일을 삭제하기 위해 10 번 실행하고 싶지 않습니다.

> zip -d <SOME_FILE>.war <log4j>.jar

그러면 10개의 war 파일에서 실행되어야 하는 .war에서 1개의 log4j jar이 제거됩니다.

답변1

for 루프를 사용하세요. 예를 들어 다음과 같습니다.

for f in webapps/*.war; do
  zip -d "$f" log4j.jar
done

관련 정보