RMF Patch Tool을 만들면서 정팀장님이 알려준 command 이다.
shell>> (find <directory name> -name "<file name>" | xargs -i md5sum {}) | cut -d" " -f1 | sort | uniq -c | sort -rn
1489 ad4b435cf7bb1510450ac462e5989bd4
337 d8c24915ea62f9fab3f9b6bc19448bde
22 d93bc56dca97d6af9d3a764cda23f4e5
이런식으로 결과가 나온다.
즉 <directory name> 폴더에 있는 <file name>의 파일들을 찾아 checksum 값에 따라서 분류 한 후 count를 하면
"ad4b435cf7bb1510450ac462e5989bd4" 값을 checksum 값으로 가지는 파일이 1489개
"d8c24915ea62f9fab3f9b6bc19448bde" 값을 가지는 파일이 337 개
"d93bc56dca97d6af9d3a764cda23f4e5" 값을 가지는 파일이 22개
이런식으로 출력되는 것이다.
위의 결과를 기준으로 특정 checksum 값을 가지는 파일 list를 구하려고 할 경우
shell>> (find <directory name> -name "<file name>" | xargs -i md5sum {}) | grep <checksum>
<directory name>폴더내에 <file name> 이름을 가지는 파일 들 중 <checksum>값을 checksum 값으로 가지는 file들 list가 출력된다.
흠... 이래저래 요즘 shell 많이 배우게 된다.
참고로 위의 명령 중 xargs 명령은 javascript의 eval 명령문처럼 특정 명령을 만들어 실행 시켜 주는 그런 명령문이다.
shell>> (find <directory name> -name "<file name>" | xargs -i md5sum {}) | cut -d" " -f1 | sort | uniq -c | sort -rn
1489 ad4b435cf7bb1510450ac462e5989bd4
337 d8c24915ea62f9fab3f9b6bc19448bde
22 d93bc56dca97d6af9d3a764cda23f4e5
이런식으로 결과가 나온다.
즉 <directory name> 폴더에 있는 <file name>의 파일들을 찾아 checksum 값에 따라서 분류 한 후 count를 하면
"ad4b435cf7bb1510450ac462e5989bd4" 값을 checksum 값으로 가지는 파일이 1489개
"d8c24915ea62f9fab3f9b6bc19448bde" 값을 가지는 파일이 337 개
"d93bc56dca97d6af9d3a764cda23f4e5" 값을 가지는 파일이 22개
이런식으로 출력되는 것이다.
위의 결과를 기준으로 특정 checksum 값을 가지는 파일 list를 구하려고 할 경우
shell>> (find <directory name> -name "<file name>" | xargs -i md5sum {}) | grep <checksum>
<directory name>폴더내에 <file name> 이름을 가지는 파일 들 중 <checksum>값을 checksum 값으로 가지는 file들 list가 출력된다.
흠... 이래저래 요즘 shell 많이 배우게 된다.
참고로 위의 명령 중 xargs 명령은 javascript의 eval 명령문처럼 특정 명령을 만들어 실행 시켜 주는 그런 명령문이다.
'개발자세상 > Shell 관련' 카테고리의 다른 글
Shell 에서 FTP uploading check (0) | 2013.03.21 |
---|---|
공용키 기반 인증 (0) | 2010.01.26 |
서로 다른 디렉토리의 전체 파일 diff 실행하는 script (0) | 2009.01.30 |
VI 문자열 대치 (0) | 2009.01.23 |
"join" command (0) | 2008.11.21 |