이 코드 쉘 스크립트를 사용하여 디렉토리의 숨겨진 파일을 어떻게 계산합니까?
#!/bin/bash
ls -l
echo -n "Number of simple files : "
ls -l | egrep '^-' | wc -l
echo -n "Number of directories : "
ls -l | egrep '^d' | wc -l
echo -n "Number of hidden files : "
ls -la | egrep '^.*\.$' | wc -l
echo -n "Number of hidden directories : "
ls -la | egrep '^d.*\.$' | wc -l
echo " End"
내가 처음 두 egrep을 작업 내가 어떻게 마지막 이 일을 알아낼 수있는 방법을 이해할 수 있지만
을 사용했다. 더 구체적으로는'^.*\.$'
의 의미는 무엇입니까? 로 시작하는 파일을 원합니다. (숨겨진 파일) 그리고 어떻게 정규 표현식을 형성해야합니까?
이제 * 실제 * 질문이 숨겨진 파일 수를 계산하는 방법이 아니라 정규식'^. * \. $ '이 의미하는 바를 묻는 것이 좋습니다. –
마지막 두 개가 작동하지 않습니다. 정규 파일과 디렉토리의 수를 각각 카운트하고 이름 * 끝 *을 마침표로 사용합니다. – chepner
여기에있는 다른 사람들을 위해 freenode #bash 채널에서 관리하는 위키에 대한 링크가 있습니다 : [BashFAQ # 4] (http://mywiki.wooledge.org/BashFAQ/004)는 베스트 프랙티스 접근법을 다룹니다 일반적으로 파일. [ParsingLs] (http://mywiki.wooledge.org/ParsingLs)는 이런 종류의 유스 케이스에서'ls'를 사용해서는 안되는 이유와 대안을 자세히 설명합니다. –