"메타 파일"을 만드는 방법이 있습니까? (파일처럼 보이지만 읽기 / 쓰기는 프로그램을 통해 필터링 됨)


1

타사 앱에 대한 파일처럼 보이지만 읽기 / 쓰기는 프로그램을 통해 필터링됩니다.

특히 내가하고 싶은 일은 타사 앱이 읽고 쓸 수있는 여러 파일의 연결 파일을 만드는 것입니다. 그것은 텍스트 파일이 될 것이고 경계는 단지 pragma mark 또는 비슷한 형식 일 것입니다. 타사가이 파일에 쓸 때, 기본 프로그램은 각 섹션을 원본 소스 파일에 씁니다. 제 3 자 앱이 그것을 읽을 때, 기본 파일의 내용으로부터 즉석에서 생성됩니다.

내가 가지고있는 여러 가지 용도가 있습니다. 가장 즉각적인 것은 TaskPaper를위한 NEXTSTEPS.taskpaper 파일을 가질 수있는 것입니다.이 파일은 많은 다른 프로젝트 git repos에있는 많은 NEXTSTEPS.taskpaper 파일로 구성됩니다.

그러한 도구가 없다면 나는 함께 해킹을 시도 할 것입니다 (아마도 fsevents & amp; ruby로 작성). 그리고 접근 방법에 대한 피드백을 환영 할 것입니다.

편집 : 또 다른 가능성은 "파일 시스템"을 사용하여 만들 수 있을지 궁금하네요. 퓨즈 . 이것은 내 "메타 파일"의 위치를 ​​최상위 / 볼륨 / ... 경로로 제한하지만 추측 할 수는 있지만 그걸로 살 수 있습니다.

답변:


0

OP, n에 의해 ninja'd

리눅스에는 사용자 공간에 파일 시스템을 작성하는 "FUSE"라는 레이어가 있으며, 이전에는 OS X를 포함한 다양한 BSD로 포팅되었습니다. MacFuse ; 요즘은 보인다. OSXFUSE 현재 구현입니다.

퓨즈는 "메타 파일"아이디어와 조금 다릅니다. 단일 파일뿐만 아니라 전체 파일 시스템에서 작동하므로 API는 다소 저급입니다.

그러나 커널 모듈이나 kext를 작성하는 것보다 훨씬 쉽습니다. 사용자 정의 FUSE 서버 작성을위한 Perl, Python, Ruby 바인딩이 있습니다. 하나의 자동 생성 파일을 제공하는 간단한 FUSE 파일 시스템을 작성하는 데 아마 몇 시간이 걸릴 것입니다.

(가장 인기있는 FUSE 서버는 sshfs 이 파일은 SFTP를 사용하는 다른 서버에 연결하여이를 로컬 파일 시스템으로 노출하지만 수십개가 더 있습니다 - ntfs-3g (널리 사용되는 NTFS 드라이버). wikipediafs (Wikipedia 기사를 파일로 노출); curlftpfs; fuseiso; ...)


나는 아직 훌륭한 기본 튜토리얼을 발견하지 못했다.
Michael Johnston
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.