Programing

지정된 문자열로 시작하는 파일 이름을 가진 모든 파일을 찾으십니까?

crosscheck 2020. 6. 24. 07:41
반응형

지정된 문자열로 시작하는 파일 이름을 가진 모든 파일을 찾으십니까?


약 100000 개의 파일이있는 디렉토리가 있으며 지정된 문자열로 시작하는 모든 파일에서 일부 기능을 수행하려고합니다. 수만 개의 파일과 일치 할 수 있습니다.

나는 시도했다

ls mystring*

그러나 이것은 bash 오류 '너무 많은 인수'와 함께 반환됩니다. 다음 계획은

find ./mystring* -type f

그러나 이것은 같은 문제가 있습니다.

코드는 다음과 같아야합니다.

for FILE in `find ./mystring* -type f`
do
    #Some function on the file
done

미리 감사드립니다, Rik


사용하다

find . -name 'mystring*'

ls | grep "^a"  

문자 a로 시작하는 모든 파일을 제공하고 현재 디렉토리에서 작동하지만 find는 기본적으로 하위 디렉토리로 드릴 다운합니다.

나는 그것이 더 나은 것을 말하는 것이 아니라 단지 다른 각도입니다.


검색을 파일로만 제한하려면 -type f검색 에 사용해야 합니다.

-iname대소 문자를 구분하지 않는 검색 에도 사용하십시오

예:

find /path -iname 'yourstring*' -type f

파이프 부호 또는 xargs없이 결과에 대해 일부 작업을 수행 할 수도 있습니다.

예:

파일을 검색하고 크기를 MB 단위로 표시

find /path -iname 'yourstring*' -type f -exec du -sm {} \;

참고 URL : https://stackoverflow.com/questions/4034896/find-all-files-with-a-filename-beginning-with-a-specified-string

반응형