나는 bash에서 와일드 카드를 실험하고 "xyz"로 시작하지만 ".TXT"로 끝나지는 않지만 잘못된 결과를 얻는 모든 파일을 나열하려고했습니다. 그것은 이름 "XYZ"나는 내 디렉토리에있는 "xyzTXT"와 파일을 나열되지와일드 카드를 사용하여 특정 접미사가있는 파일 제외
$ ls -l xyz*[!\.TXT]
: 여기
내가 시도 명령입니다. 그러나 "xyz1", "xyz123"이 나열됩니다."xyz *"다음에 [!\.TXT]
을 추가 한 것처럼 보입니다. 쉘은 "xyz"로 시작하고 그 뒤에 적어도 하나의 문자가있는 것을 찾습니다.
왜 그런 일이 벌어지고 있고이 명령을 수정하는 방법에 대한 아이디어가 있습니까? 다른 명령을 사용하여이 작업을 수행 할 수 있다는 것을 알고 있지만 특히 실패 이유와 와일드 카드를 사용하여 수행 할 수 있는지를 아는 데 특히 관심이 있습니다.
그 말이 맞는 것 같습니다. 감사. –
@RameshSamane, 예를 들어'xyzwhateverTXTyouwant','xyzwhateveryouwant' 및'xyzwhateveryouwantX'라는 파일로 몇 가지 테스트를 수행하십시오. 당신의 방법은 첫 번째 방법은 효과가 있지만 다른 두 가지 방법은 실패 할 것입니다. – Zagorax
네, 맞습니다. 나는 그것을 확인했다. –