그래서 제가 조사한 문제 중 하나는 files
디렉토리의 내용을 표시하는 와일드카드를 사용하면 특정 내용을 표시한다는 것입니다. 이 경우 목표는 사용하는 것이고 ls
제가 놓친 부분은 stat의 파일 이름은 . 이지만 .이 될 수 있는 a
모든 파일을 제외합니다 .aa
ab
팁이 있으면 계속 찾아보고 게시하고 답변하겠습니다. 와일드카드 사용에 대한 도움이 있으면 도움이 될 것입니다. 감사해요
답변1
위치 로 시작 a
하지만 위치를 포함하지 않는 aa
파일 이름을 일치시키려면,
를 사용하면 zsh -o extendedglob
다음을 사용할 수 있습니다.~
와는 별개로운영자:
ls -ld a*~*aa*
그리고 bash -O extglob -O failglob
:
ls -ld !(!(a*)|*aa*)
답변2
여러 조건을 사용하여 복잡한 파일 glob을 실행하는 것은 셸에서 어렵습니다. 이렇게 하면 사용이 더 쉬워집니다 find
.
find files -maxdepth 1 -name 'a*' ! -name '*aa*' -type f -print
그러면 디렉토리에서 files
로 시작 a
하지만 하위 문자열을 포함하지 않는 일반 파일의 경로 이름이 출력됩니다 aa
.
ls -l
동작을 얻으려면 -print
으로 변경하십시오 -ls
.
답변3
내가 찾은 답은ls a[!a]*
a
이렇게 하면 첫 번째 문자로 단어를 찾을 수 있지만 아무것도 찾을 수 없습니다.aa