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
또는 배열의 요소를 계산하여 계산이 수행됩니다.