find -maxdepth 1 ! -name "*.*" -print
INSSO.TEST.20100503.16400006과 같은 파일 이름을 인식하지 못합니다. XML 문서입니다.
답변1
(이름이 아닌) 내용을 기준으로 파일을 찾으려면 해당 파일을 살펴봐야 합니다. 찾다이 작업은 자체적으로 수행되지 않지만 다른 프로그램을 실행하도록 지시할 수 있습니다.
나는부터 시작할 것이다문서(1), 파일에 대한 설명을 인쇄합니다. XML 파일에서 작동한다면 파일 이름을 인쇄하는 스크립트를 작성하겠습니다.찾다맞는 유형이라고 하세요. 그런 다음 다음 명령을 사용하여 모든 해당 파일에 대한 스크립트를 호출합니다.
find . -type f -exec my-xml-detector {} \;
답변2
현재 디렉터리에서 확장자가 없거나 확장자가 3자를 초과하거나 빈 확장자가 있는 파일을 찾으려면 다음을 수행할 수 있습니다.
find . ! -name . -prune ! -name '?*.[!.]' \
! -name '?*.[!.][!.]' \
! -name '?*.[!.][!.][!.]'
(파일 이름에 유효한 문자를 형성하지 않는 일련의 바이트가 포함되어 있지 않다고 가정).