Linux 하위 디렉토리 파일 벌크 처리

less than 1 minute read

Ubuntu,Cent..등 공통

.svn 디렉토리 삭제 방법

방법1

$ find . -name .svn -print0 xargs -0 rm -rf

pint0와 xarts-0 의 0는 모두 숫자 0(Zero) 입니다. 서브디렉토리까지 알아서 찾아 가면서 모두 삭제해 줍니다. ^^

방법2

$ find . -type d -name .svn (이렇게 하면 .svn이라는 디렉토리만 검색을 합니다) $ rm -rf `find . -type d -name .svn` (검색되는 것들을 다 삭제)

ShellScript로 만들기

#!/bin/sh echo “recursively removing .svn folders from” pwd rm -rf `find . -type d -name .svn`

방법3

위에서 한거 방향바꾸기

find -name “\.svn” -exec rm rf {} \;

find . -type f -iname ‘*.cpp’ -exec mv -t ./test/ {} \+

find . -type f -exec rm -Rf {} \; find . -type f -exec mv {} . \;

쓰다보면 익숙해지겠지…

파일 sudo로 카피

sudo find . -type f -name kor*.png sudo xargs -i cp {} ~/testimg/

 

샘플코드 보다보면 외워짐

파일개수가 너무 많으면 다음과같은 메세지를 보게된다.

Argument list too long

http://www.linuxjournal.com/article/6060

이렇게 되면 처리가 힘들다.

mv나 cp소스코드를 편집해야할까….?

linux files in sub directory bulk action