TIP, UNIX

[HP-UX]현재 디렉토리 대상으로만 Find 명령어 실행

HP-UX 에서 find 명령어로 현재 디렉토리 안에 있는 파일 대상으로만 처리하려고 하는데 -depth 의 값 주면 아래처럼 에러가 난다.


% find . -depth 1 -name "mdm*" -mtime +3
find: missing conjunction

IT Resource Center forums – how to use “find” command

위 페이지의 답변 내용 중 ‘-type f ! -path’ 나 ‘-prune’을 사용하는 방법으로 일단 해결.


% find . -type f ! -path "./*/*" -name "*.log" -mtime +3
% find . -path "./*" -prune -name "*.log" -mtime +3

응용

% find . -path "./*" -prune -name "mdm*" -mtime +3 -exec mv {} backup \;

Advertisements

2 thoughts on “[HP-UX]현재 디렉토리 대상으로만 Find 명령어 실행

  1. 저도 find . -name *.jar 하니까 현재 디렉토리만 뒤지더라구요. 이 글 읽은 후 find . -name “*.jar” 하니까 하위 디렉토리까지 뒤지더군요.

    1. 그냥 find pathname(“.” 일 땐 현재 디렉토리) … 하면 지정 디렉토리 이하 모든 디렉토리를 뒤집니다. 제 목적은 그 하위 디렉토리 아닌 지정한 디렉토리에서만 파일 검색하기 위함이었고요. 쌍따옴표 쓰고 안쓰고는 이것과 상관없을텐데 혹 잠깐 착각하신거 아닌지 ^^; … OS 나 쉘 종류에 따라 이렇게 지원하는 경우도 있는지는 잘 모르겠군요.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s