쉼표가 포함된 Bash extglob 패턴

쉼표가 포함된 Bash extglob 패턴

Bash(저는 5.0.11(1)-release(x86_64-apple-darwin18.6.0) 를 사용하고 있습니다)에서 열었다 고 가정하고 extglob 모드에서 작동하도록 할 수 없는 extglob파일이 있습니다 . 쉼표를 피하고 관련된 모든 것을 피하십시오( 가 a 의 첫 번째인 경우) . 이는 나에게 이해가 되지 않습니다. 그러므로:list89988777,,,,,+--.txt,[...],[..]

ls *+([[:digit:]]|[\,\-\+]).txt효과적인, 효과적인

ls *+([[:digit:]]|[[:punct:]]|[-\,+]).txt또한

ls *+([[:digit:]]|[[:punct:]]|[-+\,]).txt

하지만

ls *+([[:digit:]]|[\,-+]).txt작동하지 않습니다.

문제는 해결될 수 ls *+([[:digit:]]|[[:punct:]]|[-+]).txt있고 효과가 있습니다. 또는 그 문제에 있어서는 ls *+([[:digit:]]|[[:punct:]]|[,-+]).txt효과가 있습니다. 그러나 첫 번째 문자가 a인 경우 ,이스케이프 문자와 다른 모든 문자가 필요한 이유는 무엇입니까?[...],

답변1

댓글의 질문에 답변한 사용자에게 크레딧이 돌아갑니다(그런데 댓글이 사라졌습니다).

문제를 일으키는 것은 "내부"가 아니라 ,범위를 생성하기 때문에 "내부"입니다. 따라서 이스케이프 처리는 필요하지 않습니다. 단지 그것이 세트의 첫 번째인지 마지막인지 확인하면 됩니다.-[...],-

관련 정보