두디렉토리 파일의들의 크기비교방법??

ㅡ,.ㅡ;;의 이미지

두디렉토리의 파일들의 크기를 비교할할방법이 있을까요?

구체적으로 원본디렉토리와 백업 디렉토리의 파일들을비교해보려고 합니다

권한까지 비교되면 더욱좋구요..내용까지 비교하면좋겠지만 부하가 많이 걸리니 그것까지는 안하고 크기만 비교 했으면 좋겠군요..

하위폴더까지 검사할방법도 있는지...

------------------------
추가적으로 어떤명령에 아규먼트로 두개의 파일을 입력받을경우

어던내용출력내용을 아규먼트파일로 입력해주는방법이 "|" 를사용하는데..
> ls | command

이런 입력해야할 아규먼트가 2개의 파일 일때는 어떻게 처리하죠?

redbaron의 이미지

ㅡ,.ㅡ;; wrote:
두디렉토리의 파일들의 크기를 비교할할방법이 있을까요?

구체적으로 원본디렉토리와 백업 디렉토리의 파일들을비교해보려고 합니다

권한까지 비교되면 더욱좋구요..내용까지 비교하면좋겠지만 부하가 많이 걸리니 그것까지는 안하고 크기만 비교 했으면 좋겠군요..

하위폴더까지 검사할방법도 있는지...

------------------------
추가적으로 어떤명령에 아규먼트로 두개의 파일을 입력받을경우

어던내용출력내용을 아규먼트파일로 입력해주는방법이 "|" 를사용하는데..
> ls | command

이런 입력해야할 아규먼트가 2개의 파일 일때는 어떻게 처리하죠?


1. 프로그래밍 이라면..모르겠지만 쉘 상이라면 du 를 이용하시는 것도 괜찮을듯 합니다.(원하시는 답이 아니실지도..)

2. 아규먼트가 n개 (n > 1) 일때 저는 bash/ruby 스크립팅을..합니다. 파이프/리다이렉션으로 머리아프기는..싫거든요. ^^
사실 파이프 2개로..처리하기도..(쿨럭)

쿠크다스의 이미지

find -printf "%p %s %m\n"

파일의 owner와 group까지 필요하다면,
find -printf "%p %s %m %u %g\n"

비교하고자 하는 디렉토리로 이동하셔서, 저 명령의 수행결과를 저장해서, 그 결과 파일을 비교하시면 될겁니다.
비교는 diff명령이나, vim -d 로 하시면 됩니다.

그 외, 시간이 많이 걸리고, 퍼미션 비교 등은 하지 않는 방법이 있습니다.
diff -r directory_A directory_B

ls | command 에 대해,
ls 명령의 결과가 command 명령의 argument가 된다는 표현은 하지 않는 것 같습니다.
명령어(위 경우 command) 뒤에 따라오는 놈을 argument라고 부르지 않나요?
예를 들면,
command A B
에서 A, B

혹시 command $(ls) $(command2) 이런거 말씀하시는 건가요?

아니면,
ls > arg
command2 >> arg
cat arg | command
이거 일 수도...

과자가 아닙니다.
cuckoo dozen, 즉.12마리의 뻐꾸기란 뜻입니다.

ㅡ,.ㅡ;;의 이미지

쿠크다스 wrote:
ls | command 에 대해,
ls 명령의 결과가 command 명령의 argument가 된다는 표현은 하지 않는 것 같습니다.
명령어(위 경우 command) 뒤에 따라오는 놈을 argument라고 부르지 않나요?

네 그걸아규먼트라고부르죠.. 그러니까 그아규먼트를 말하는거죠..
ls | command 이렇게 넣어주는데.
만일 아규먼트를 두개 줄수 있다면 diff 에다가 주면 간단히 해결될꺼 같아서 질문했습니다.

파일로 남기지 않고 하는방법이 없을까요.. 물론 파일을 생성했다가 삭제할수도 있겠지만.. 권한이 없을수도 있고 머 하여간 지저분하니까요..


----------------------------------------------------------------------------

정태영의 이미지

ㅡ,.ㅡ;; wrote:
추가적으로 어떤명령에 아규먼트로 두개의 파일을 입력받을경우
어던내용출력내용을 아규먼트파일로 입력해주는방법이 "|" 를사용하는데..
> ls | command

이런 입력해야할 아규먼트가 2개의 파일 일때는 어떻게 처리하죠?

파이프는.. arg로.. 값을 넘겨주는게 아닙니다..
앞에 있는 프로그램의.. stdout이.. 뒤에 있는 프로그램의.. stdin으로
연결되는겁니다..

arg로 넘겨주시려면..
ls | xargs cat
처럼.. 파이프와 함께.. xargs를 쓰셔야합니다..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..