특정 문자로 시작하는 모든 디렉토리를 가져오고 결과 목록을 txt 파일에 저장하려면 일부 쉘 스크립트를 작성해야 합니다.
예를 들어.
-목차는 모두 대문자로 작성
- "Ab"로 시작하는 모든 디렉토리
어떤 제안이 있으십니까?
답변1
목차는 모두 대문자로 표시됩니다.
shopt -s nullglob
for d in [[:upper:]]*/ ; do
echo "$d"
done > uppercase-dirs.txt
Ab
다음으로 시작하는 모든 디렉토리:
shopt -s nullglob
for d in Ab*/ ; do
echo "$d"
done > Ab-dirs.txt
자세한 내용은 다음을 참조하세요.Bash 매뉴얼의 패턴 일치 섹션.
디렉터리에 개행 문자와 같은 특이한 문자가 포함될 수 있습니다. 이 경우 각 디렉터리를 텍스트 파일의 새 줄로 에코하면 잘못된 결과가 발생합니다. 이 문제를 해결하는 한 가지 방법은 nul 문자를 사용하여 각 디렉터리를 구분하는 것입니다. 대신 printf를 사용할 수 있습니다.
shopt -s nullglob
for d in Ab*/ ; do
printf "%s\0" "$d"
done
또한 shopt -s nullglob
패턴이 일치하지 않는 경우도 처리해야 한다는 점에 유의하세요. 그것이 없으면 일치하는 항목이 없으면 Ab*/
확장되며 Ab*/
이는 원하는 것이 아닙니다. Ab*/
일치하는 항목이 없으면 빈 문자열로 확장됩니다.
자세한 내용은 다음을 참조하세요.shopt
Bash 매뉴얼의 일부.