디렉토리에서 특정 단어로 시작하고 특정 확장자로 끝나는 특정 파일을 선택(/grep/ls 찾기)하고 싶습니다. 예:
- bluebelt_hans_hoff.jpg
- bluebelt_hans_hoff.JPEG
- bluebelt_peter_gort.jpg
- bluebelt_peter_gort.JPEG
나는 "bluebelt"로 시작하고 ".jpg" 확장자로만 끝나는 파일만 원합니다(JPEG 확장자는 아님). 명령줄에서 이 작업을 어떻게 수행합니까?
답변1
터미널에 파일을 나열하려면 다음을 사용하십시오.
ls -d bluebelt*.jpg
이러한 파일로 작업을 수행하려면 다음을 사용하세요.
for file in bluebelt*.jpg; do
your_command "$file"
done
답변2
find /dir/with/yor/files -type f -iname 'bluebelt*.jpg'
드라이버와 비교하여 이 방법의 장점은 동작이 예상치 못한 경우 ls
에만 파일을 찾는다는 것입니다 . ls
bluebelt1.jpg라는 디렉토리가 있다고 가정하면 ls
유틸리티는 해당 디렉토리에 포함된 모든 파일을 출력합니다.
내 생각에 이 변형은 두 가지 역할을 합니다. (1) 검색은 대소문자를 구분하지 않습니다. (2) 재귀 검색을 지정하지 않으려는 경우 -name
. 원하지 않는 경우 지침을 -maxdepth
참조하세요 man find
.