30일 전에 마지막으로 수정된 두 확장자를 모두 가진 파일 찾기

30일 전에 마지막으로 수정된 두 확장자를 모두 가진 파일 찾기

.xml디렉토리에서 최소 30일 동안 수정되지 않았으며 또는로 끝나는 모든 파일을 찾고 싶습니다 .out. 올바른 구문을 구성하기 위해 몇 가지 참조를 함께 모으려는 시도는 다음과 같습니다 find.

find . -mtime +30 -type f / (-name "*.xml -o -name "*.out" ) / -print

나는 점점

-bash: syntax error near unexpected token '('

내 구문에 무엇이 빠졌나요?

답변1

거의 다 왔어요! 이것은 작동합니다:

find . -mtime +30 -type f \( -name \*.xml -o -name \*.out \)

귀하의 / (것은 \((이스케이프된 왼쪽 대괄호입니다. 쉘이 특별한 처리를 수행한다는 것을 알았기 때문에 (escape 를 사용해야 합니다 \.) 실제로 ) /는 동일해야 합니다 \). 이름은 *주어진 확장자로 끝나는 모든 항목과 일치해야 하며 이스케이프되어야 하므로 ".xml"(누락된 닫는 따옴표를 추가했습니다)는 \*.xmlor 가 됩니다 "*.xml".

마지막으로 -print이것이 find기본 작업이므로 삭제할 수 있습니다.

관련 정보