는 규칙이 무엇인지 파일의 확장자에서 윈도우와 Unix?
문제
나는 현재 사용하여 파일::Basename fileparse 을 분리하는 파일의 디렉터,베이스 파일 이름의 확장자가 있는 것을 사용하여 다음과 같다:
my($myfile_name,$mydirectory, $file_extension) = fileparse($$rhash_params{'storage_full_path_location'},'\..{1,4}');
그러나 볼 수 있다는 변동할 수 있는 실제로 제공하는 배열의 접미사는 함수,배열이 모두 포함 알려진 파일 확장자가 있습니다.
그래서 나를 찾으려고 안전한 방법으로 이것을 보았는데 그 어떤 이상한 파일의 이름을 처리,즉file.0f1.htm 니다,등등.
질문:
- 이 있는 목록의 일반적으로 사용되는 extension for Unix 및 윈도우 시스템의 차이점은 무엇입니까?하지만 제 경우에 그것은 주로 for Windows.
- 그리고 안전 가정 하는 모든 파일 이름에서 Windows 있어야 합 확장 으로 끝나는 세 개의 문자는?
고 있는 경우에는 더 나은 방식으로 이렇게하려면,공유하시기 바랍니다.
감사합니다.
업데이트:
그렇게 분명히 나는 술에 취해 있을 잊고 그는 다른 확장자.:) 따라서 업데이트 현재 regex 에서 허용하는 1-4chars.
이 경우에는 어떻게 변경 내 정규 표현식 라인을 제대로 맞?나 그것은 더 나은 아이디어를 찾는 모든 사람들을 위해 일반적으로 사용되는 확장자가 google 에서들을 배열로 전달할 기능을 대신?내 사용자가 일반적으로 하는 학생이나 교사입니다.
해결책
1
.이 있는 목록의 일반적으로 사용되는 확장자를 위한 윈도우와 유닉 시스템의 차이점은 무엇입니까?하지만 제 경우에 그것은 주로 for Windows.
예,로드 인터넷: http://www.google.com/search?q=common+file+extensions
2
.그리고 안전하다고 추정하는 모든 파일 이름에서 윈도우야 의 확장으로 끝나는 세 letter 자?
아니,그것은 완벽하게 이용 가능 '.c'
, '.java'
, 등 in Windows.
다른 팁
거기에 여러 가지 잘못 가정에서 당신의 코드:
- 파일이 필요하지 않는 확장 합니다.예를 들면 가장 큰 바이너리 파일에서 Unix/Linux/...지 않는 확장자를 가지고 있다.그들은 단순히 통화"bash","wget","sed","Xorg",...
- 확장이 필요하지 않 세 자로@스타 알니타크 이미 말했:".c",".java",".mpeg",".jpeg",".html"는 모두 완벽하게 괜찮다고 오히려한 확장
- 절단 마지막에"."아버지만,여전히 실패한 없이 파일 확장자와 함께 또는 여러(또는 멀티-부분)등의 확장 프로그램".tar.gz","tar.bz2"발생하는 오히려주에서 Unix/Linux/...세계