입력한 키워드가 포함된 폴더의 모든 파일을 나열하는 명령을 찾으려고 합니다.
이거 해봤는데 grep -l
아무것도 안 뜨네요
답변1
find /path/to/folder -type f -name "*key*"
위 명령은 모든 하위 디렉터리에서 파일을 검색합니다. 하위 디렉터리가 아닌 현재 디렉터리의 파일만 검색하려면 다음 명령을 사용합니다.
find /path/to/folder -maxdepth 1 -type f -name "*key*"
위 명령은 bash 쉘에만 적용됩니다.
답변2
이 ls
명령은 파일 목록을 표시하는 데 사용됩니다. 셸은 패턴과 일치하는 파일을 나열하는 다양한 옵션을 제공합니다. 예를 들면 다음과 같습니다.
- "a"로 시작하는 모든 파일을 나열합니다.
ls a*
- ".txt"로 끝나는 모든 파일을 나열합니다.
ls *.txt
- "x"로 시작하고 ".sh"로 끝나는 모든 파일을 나열합니다.
ls x*.sh
더 많은 흥미로운 모드가 있습니다. 자세히 알아보려면 man bash
"/" 키를 눌러 검색한 man bash
다음 "Pattern Matching"이라는 텍스트를 입력하고 Enter를 눌러 관련 섹션으로 이동할 수 있습니다.
답변3
set ./*keyword*
[ -e "$1" ] || shift
printf "${1+%s\n}" "$@"
다음을 포함하는 현재 디렉토리의 모든 파일 목록을 인쇄합니다.*keyword*
(하지 않음 .
). 그러나 더 중요한 것은 쉘의 위치 배열을 파일 이름으로 설정한다는 것입니다. 따라서 이러한 파일이 존재하는 경우 "$1"
등에서 개별적으로 참조할 수 있으며 "$2"
, 전체 내용은 에서 참조 할 수 있습니다 "$#"
.