파일에 정의된 glob을 포함하도록 파일 목록을 확장합니다.

파일에 정의된 glob을 포함하도록 파일 목록을 확장합니다.

나는 배쉬를 사용하고 있습니다. filelist파일 목록이 포함된 이라는 파일이 있다고 가정해 보겠습니다 .

stuff/**/*.csv     # to keep it simple (without loops), assume just one entry
#*.txt
#foo.md
#bar.bin

나는 이것에 대해 확장하고 싶습니다 :

ls $(cat filelist)

나는 얻다:

ls: 'stuff/**/*.csv'에 액세스할 수 없습니다: 해당 파일이나 디렉터리가 없습니다

내가 원하는 것은 처리를 위해 기본 애플리케이션으로 전송할 수 있는 파일 목록으로 이것을 확장하는 것입니다. 어떻게 해야 하나요?

답변1

내 생각엔 재귀적 와일드카드를 사용하고 싶은 것 같군요 **. 그렇죠? 그러나 이 기능은 Bash에서 기본적으로 활성화되어 있지 않으며 ( 및 shopt -s globstar유사 ) 를 통해 활성화해야 합니다 . 다음을 사용하여 값을 확인할 수도 있습니다.dotglobextglobshopt globstar

(또는 댓글의 제안 shopt |grep glob에 응답하세요 . .와 .의 차이점을 참고하세요 .)set -o |grep globshoptset -o

관련 정보