후속작입니다정상적으로 보이는 텍스트 파일(파일에서 ASCII Pascal 프로그램 텍스트로 감지됨)
file
아직도 믿기지 않는 것 같습니다 .
특정 파일에 encoding/format1
및 가 모두 있는 것으로 감지될 수 있는 것 같습니다 encoding/format2
. file
하지만 encoding/format1
제약 조건도 충족하는지 확인해야 합니다 encoding/format2
.
- 이를 수행할 수 있는 방법이 있습니까?
- "이 파일이 ASCII 영어 텍스트 규칙을 따르는지 확인하세요(또는다른 인코딩)", 대답은 "예"입니까, "아니오"입니까?
답변1
--keep-going
어쩌면 ( -k
) 옵션을 사용할 수도 있습니다 file
. 더 일치하는 형식을 작성합니다.
관련된매뉴얼 페이지이 옵션에 대한 설명:
첫 번째 게임에서 멈추지 말고 계속 진행하세요. 후속 일치 항목 앞에는 "\012-" 문자열이 추가됩니다. (개행 문자를 원하면 -r 옵션을 참조하십시오.) 가장 강력한 매직 모드(-l 옵션 참조)가 먼저 옵니다.
답변2
두 번째 질문에 대답하세요.조펠은 이미 첫 번째 질문에 답변했습니다.
- "이 파일이 ASCII 영어 텍스트(또는 다른 인코딩)에 대한 규칙을 따르는지 확인하세요"라고 질문하여 "예" 또는 "아니요"로 대답하도록 할 수 있는 방법이 있습니까?
-e
/ 옵션을 참조하세요 --exclude
. ~에서file(1)
:
-e, --제외 테스트 이름
지정된 테스트 제외테스트 이름파일 형식을 결정하기 위해 수행된 테스트 목록에서.
[...]
soft Consults magic files
이러한 매직 파일은 Pascal 보고를 담당하므로 -e soft
이것으로 충분합니다. 또한 활성화된 상태로 유지하는 한 목록에서 다른 테스트를 제외해 볼 수도 있습니다 ascii
.
예/아니요 테스트의 경우 -b
("짧은", 즉 파일 이름 없음)과 함께 사용하고 --mime-encoding
인코딩만 출력합니다. 그런 다음 간단한 문자열 비교를 수행합니다.
if [ "$(file -b --mime-encoding -e soft $file)" == "us-ascii" ] ; then
echo yes
else
echo no
fi