du 에 –max-depth 옵션이 없을 때 perl을 이용해서 필요한 출력물만 골라보기 (grep의 또다른 방법)

du -k 하면 서브디렉토리의 용량까지 상세하게 표시된다.
이 때 불필요한 depth 출력은 날려버릴 수 있다. 사실은 불필요한 출력은 날리는게 아니라 필요한 부분만 grep하는 것이다.

du -k | perl -ne ‘print if(tr#/#/# == 1)’

설명하자면

du -k 로 뽑아낸 모든 결과중에서
perl 이 -e explression 표현식에 맞는 것만 출력하라.

tr은 치환하라라는 뜻이고
tr#/#/# 는
“/ 를 / 로 치환하라”는 뜻이다.

그리고 그 치환횟수의 결과가 1개인 것 즉. / 이 한번만 등장할 경우 출력하라는 뜻이 된다.

펄은 구분자로 / 이외에도 어떤 기호든 쓸 수 있다. # | ! 대부분 가능하다.
검색하고자 하는 내용 자체에 / 이 있을 경우 /를 구분자로 써버리면
/\/ 와 같이 escape를 계속 해줘야 해서 귀찮다.