find사용법 질문
글쓴이: lkjt / 작성시간: 화, 2009/01/27 - 2:39오전
.D.avi로 끝나는 파일만 D.avi를 지우고 폴더를 만들게 하려면 어떻게 하죠
예를 들면
A.avi
A.D.avi
B.D.avi
가 있으면
폴더 A, B를 만들게 해주는 것입니다
find . -name '*.D.avi' -exec mkdir `basename '{}' .D.avi`
로 하니까 제대로 안되네요
어떻게 해야하나요?
Forums:
정규표현식과 관련된
정규표현식과 관련된 내용입니다.
for i in `find ./ -name ?.D.avi`;do mkdir ${i%.D.avi}; done
변수명 뒤에
%
%%
#
##
와 조작할 값(?)을 넣어주면 되는데.. 이게 정확한 명칭이 뭐였더라...?;
서브 디렉토리에 있는 파일들을 현재 find 실행하는 위치에서 디렉토리 생성하려 하시는건가요? 음... 뭔가 스마트한 방법이 있을거 같은데 일단 제가 생각해낸건 저 내용입니다.
비슷하게 수정했습니다.
$ mkdir -p $( find ./ -name "*.D.avi" -type f -maxdepth 1 -exec basename {} .D.avi \; 2> /dev/null )
없음
이것도 되지 않을까요..
find -name "*.avi" | perl -ne 'print if s/^\.\/(.)\.D\.avi/mkdir $1/g' | sh
댓글 달기