1

Я работаю со многими файлами, делая общий анализ данных.

Вот что я хочу знать о своих файлах:

  • какие данные содержатся в файле (в длинном и очень длинном описательном тексте на английском языке)?
  • файл откуда-то скачан (где? когда?) или генерируется программой (какая?)
  • почему я сделал этот файл, словесное описание, что я хочу с ним сделать, где он принадлежит моему рабочему процессу анализа данных (дополнительное описание на английском языке также может быть очень длинным)

Для этого длинные имена файлов просто не являются решением! Даже длинные имена файлов являются слишком короткими для полного описания, и при реальной работе с файлами (perl, awk, R) длинные имена файлов мешают.

Сейчас я делаю в каждом каталоге файл readme с именем файла, разделителем табуляции и подробным описанием. Однако это решение очень громоздко, как вы можете себе представить, потому что описания полностью отделены от файловой системы и всего остального, файл readme должен поддерживаться и обновляться отдельно и т.д.

Есть ли какой-нибудь инструмент, который можно использовать для действительно подробного, систематического описания имен файлов? Может быть, даже интегрированы в файловую систему?

Используемая операционная система: Windows 7 и Cygwin, различные версии linux/unix через SSH и импорт X

2 ответа2

1

Этот ответ является ответом на ваш комментарий о системах контроля версий.

Да, системы контроля версий могут быть использованы для этой цели.
Вот как вы можете описать файл, используя git:

$ git init # skip this step if you're already using git
Initialized empty Git repository ...
$ touch abstract.md # create a blank markdown document
$ git add abstract.md # stage this change so that it can be committed to the repository
$ git commit

Это откроет ваш текстовый редактор, определенный $EDITOR , который выглядит следующим образом:

Create file abstract.md

This file holds my abstracts, and this description         
restates the short message because I can't think of anything better to write.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   new file:   abstract.md
#

Когда вы закроете файл, git зафиксирует ваши изменения в хранилище.

Затем, чтобы просмотреть ваши коммиты для этого файла, выполните
git log --follow abstract.md.

commit 57bd5244574cd77ae62e17651578d88ee8bca919
Author: Robert 
Date:   Thu May 18 2017

    Create file abstract.md

    This file holds my abstracts, and this description
    restates the short message because I can't think of anything better to write.

Я не уверен, что git log --follow следует через ветки.

1

Поскольку вам необходимо независимое от платформы решение, использующее файл систем метаданных файловой системы, оно предоставляется NTFS и не может использоваться.

Альтернативой может быть система баз данных, которая управляет файлами и метаданными - полностью независимая от файловой системы.

Простым решением на основе файловой системы было бы добавить второй файл, содержащий метаданные. Например, файл на основе XML с тем же именем файла, к которому добавлен XML. Все современные файловые системы поддерживают несколько расширений файлов. Преимущество дополнительного XML-файла заключается в том, что пользователь может прочитать его в текстовом редакторе, где инструменты также могут интерпретировать его и извлекать соответствующие данные, например URL-адрес, с которого вы загрузили файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .