현재 디렉터리에서 이름이 5자 이상인 파일 수를 계산하는 방법은 무엇입니까?

현재 디렉터리에서 이름이 5자 이상인 파일 수를 계산하는 방법은 무엇입니까?

ls및 을 사용하려고 합니다 grep. 그러나 현재 디렉터리에서 이름이 5자 이상인 파일 수를 계산하는 방법을 알 수 없습니다.

이 목표를 어떻게 달성할 수 있나요?

답변1

단순한find+wc명령 솔루션:

find . -maxdepth 1 -type f -name "?????*" | wc -l

답변2

이것이 숙제였다면 과제는 다음과 같을 것입니다:

ls | grep ..... | wc -l

나는 이것을 할 것이지만 :

set -- ?????*
echo $#

또는

files=(?????*)
echo ${#files[@]}

여기서 중요한 작업은 .파일 이름의 한 문자와 일치하는 쉘 glob에 의해 수행됩니다. 그 중 5개 문자를 포함하고 그 뒤에 *(임의의 문자)를 포함하여 최소 5개의 문자를 포함하는 파일 목록을 생성합니다. .

$#그런 다음 솔루션의 셸 매개 변수를 통해 set또는 배열의 요소를 계산하여 계산이 수행됩니다.

관련 정보