$ ls -l | grep ^d | wc -l
$ ls -l
total 3.1G
drwxrwxr-x 2 user user 4.0K Jan 30 2020 conf
drwx------ 2 user user 4.0K Aug 31 17:15 Downloads
drwxrwxr-x 2 user user 4.0K May 13 11:28 dump
drwxr-xr-x 4 root root 4.0K Jul 22 08:52 fic
-rw-rw-r-- 1 user user 1.2K May 13 12:08 requirement.txt
ls -l
에서 디렉토리는 drwx~
, 즉 'd'로 시작한다.
정규표현식에서 문자열의 가장 첫 부분을 가리키는 ^
에 알파벳 d
를 붙여
ls -l
의 결과물에서 d
로 시작하는 요소를 추출하도록 한다.
wc
(word count) 명령어는 지정한 파일의 행, 단어, 글자수를 반환한다.
옵션 -l
은 행의 개수를 반환한다.
앞의 grep 으로 디렉토리 리스트를 가져오면, wc -l
로 리스트의 행 수를 세 반환하는 것이다.
$ ls -l | grep ^- | wc -l
grep 명령어에 들어가는 패턴만 달라졌다.
grep ^-
는 '-'로 시작하는 결과물만 추출하라는 뜻이다.
위의 ls -l
결과물에서 파일은 '-'로 시작한다.