특정 패턴이 있는 Linux에서 파일을 찾는 방법은 무엇입니까?

특정 패턴이 있는 Linux에서 파일을 찾는 방법은 무엇입니까?

그래서 저는 이 숙제 질문에 대답해야 합니다:

이름에 처음 세 문자 "lab"(모두 대문자, 소문자 또는 임의의 조합)가 포함되고 그 뒤에 1에서 299 사이의 숫자가 포함된 모든 "c" 소스 파일을 찾으려면 터미널에 어떤 명령줄을 제공해야 하는지 누른 후 다음을 눌러야 합니다. #, % 또는#.

find 대신 grep을 사용해야 할 것 같습니다.

답변1

재귀를 사용 ls하여 파일을 나열하고 해당 입력을 grep정규식을 기반으로 결과를 필터링할 수 있는 파일로 파이프할 수 있습니다.

sudo ls -R  / | grep -i -e '^lab\([12][0-9][0-9]\|[1-9][0-9]\|[1-9]\)[#%]\.c$'

grep명령은 -i옵션을 사용하여 대소문자를 무시하고 -e다음 인수를 검색할 정규식으로 처리합니다. 이 ls명령 에 대한 -R옵션은 ls파일이 반복적으로 나열되도록 지시하는 데 사용됩니다.

관련 정보