1

Есть куча дисков с различными документами и программами, как можно составить их список к примеру через bash в текстовый файл, а лучше в CSV файл примерно такого вида:
Номер Название Путь

Или может есть специальные программы для детальной католизации содержимого дисков с удобными поиском и импортом/экспортом в CSV?

3.1.7.

2 (14.06.2011 20:04:40 отредактировано dsmith)

Непонятно назначение подобного списка.
есть locate но она ничего не экспортирует, а используется для мгновенного поиска.

3

Ну понимаете, если мне нужен к примеру файл ааа.док, который не ясно на каком диске лежит, мне в данный момент приходится все диски перепроверять и в лучшем случае через крушадер поиском его искать.

Но если заранее списки о содержимом на всех дисках мне импортировать в один текстовый файл и пометить какой файл на каком диске лежит (и даже указать путь), то достаточно поиск провести внутри текстового файла и узнать на каком диске лежит нужный файл.

3.1.7.

4

BuxarNET пишет:

Но если заранее списки о содержимом на всех дисках мне импортировать в один текстовый файл и пометить какой файл на каком диске лежит (и даже указать путь), то достаточно поиск провести внутри текстового файла и узнать на каком диске лежит нужный файл.

вот это- действительно бред ab тогда вам точно locate, локальные поисковики вроде tracker и т.д. которые сами создают базу и сами по ней ищут.

5

Можно ещё и так:

 Консоль:

ls -la / > /home/Ваше_Имя/spisok.txt

Но соглашусь с dsmith, эта затея бредовая, хотя попробуйте, лучше 1 раз увидеть....

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

6

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

It is good day to die ...
MS Windows 10
Заметки о главном...

7

Vadimsky пишет:

ls -la / > /home/Ваше_Имя/spisok.txt

CENSORED какая то получается, тогда уж так  wink

find /home/ваше_имя/ -name *.doc >> output.txt

самое первое то что пришло в голову, можно конечно подставить еще вместо ваше_имя значение что бы бралось из системы, и тогда еще проще будет.

It is good day to die ...
MS Windows 10
Заметки о главном...

8

i2ks пишет:

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

вот-вот, я это и назвал бредом- игнорировать инструменты, которые специально созданы для облегчения жизни юзера и городить хрен знает что.

9

dsmith пишет:

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

Вообще то это не хрен знает что, это всю жизнь называлось ВЕЛОСИПЕД-ами
i2ks, и ничего не CENSORED, а полная катологизация каждого каталога со всеми вложенными файлами и каталогами, проще не придумаешь.

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

10

Vadimsky пишет:

а полная катологизация каждого каталога со всеми вложенными файлами и каталогами,

oO

useradm@linux-zgfb:~> ls -la / > /home/useradm/out.txt
useradm@linux-zgfb:~> cat /home/useradm/out.txt
итого 112
drwxr-xr-x  22 root    root  4096 Июн 14 16:21 .
drwxr-xr-x  22 root    root  4096 Июн 14 16:21 ..
drwxr-xr-x   2 root    root  4096 Июн  3 15:09 bin
drwxr-xr-x   3 root    root  4096 Июн  3 15:10 boot
drwxr-xr-x   2 root    root  4096 Июн  3 15:18 .config
drwxr-xr-x  18 root    root  4020 Июн 14 16:21 dev
drwxr-xr-x 161 root    root 12288 Июн 14 16:21 etc
drwxr-xr-x   5 root    root  4096 Июн  3 14:20 home
drwxr-xr-x  18 root    root 12288 Июн 14 13:17 lib
drwx------   2 root    root 16384 Мар 25 16:37 lost+found
drwxr-xr-x   2 root    root  4096 Июн  3 16:00 media
drwxr-xr-x   2 root    root  4096 Июн  3 14:29 mnt
drwxr-xr-x   6 root    root  4096 Июн  3 14:30 opt
dr-xr-xr-x 171 root    root     0 Июн 14 16:21 proc
drwx------  26 root    root  4096 Июн 14 16:19 root
drwxr-xr-x   3 root    root 12288 Июн 14 13:17 sbin
drwxr-xr-x   2 root    root  4096 Фев 18 16:48 selinux
drwxr-xr-x  12 root    root  4096 Июн  3 14:31 srv
drwxr-xr-x  12 root    root     0 Июн 14 16:21 sys
drwxrwxrwt  43 root    root  4096 Июн 15 15:45 tmp
drwxr-xr-x  12 root    root  4096 Мар 25 17:18 usr
drwxr-xr-x  16 useradm root  4096 Мар  1 16:40 var

Тогда уж man tree

filelimit #] [directory ...]

DESCRIPTION
       Tree is a recursive directory listing program that produces a depth indented listing of files, which is colorized  ala  dircolors  if  the  LS_COLORS
       environment  variable  is  set and output is to tty.  With no arguments, tree lists the files in the current directory.  When directory arguments are
       given, tree lists all the files and/or directories found in the given directories each in turn.  Upon completion  of  listing  all  files/directories
       found, tree returns the total number of fil

examples:

#tree /var/

...
│   ├── vi.recover
│   ├── zypp.0Od2vp
│   │   ├── zypp-general-krQpNa1K
│   │   │   ├── pubring.gpg
│   │   │   ├── pubring.gpg~
│   │   │   ├── secring.gpg
│   │   │   └── trustdb.gpg
│   │   └── zypp-trusted-krh6dBg5
│   │       ├── pubring.gpg
│   │       ├── pubring.gpg~
│   │       ├── secring.gpg
│   │       └── trustdb.gpg
│   └── zypp.fjExdG
│       ├── zypp-general-krAxyUm6
│       └── zypp-trusted-kr8EIdio
│           ├── pubring.gpg
│           ├── pubring.gpg~
│           ├── secring.gpg
│           └── trustdb.gpg
└── yp
    ├── binding
    └── nicknames

5455 directories, 41058 files
It is good day to die ...
MS Windows 10
Заметки о главном...

11

У меня складывается впечатление, что тут собрались люди, которые просто не слышали про локальные поисковые системы. Суть в том, что сначала создается Индекс, поиск по которому на порядок быстрее, чем по "голой" ФС, а затем производится поиск по индексу. Так же многие поисковики отслеживаю изменения файлов realtime и [вероятно] модифицирую индекс. В подробности реализации не влезал, но таких систем много, есть даже от Гугла.  Утилита locate создает подобный индекс периодически, по cron`у. Я не знаю, чего еще можно обсуждать в этой теме.

12

dsmith, помнишь такой файл - descript.ion? - удобно было в dn.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

13

dsmith, про  locate не слышал, а вот про beagle слышал  :rolleyes:

It is good day to die ...
MS Windows 10
Заметки о главном...

14

У меня подобная проблема.
Необходимо регулярно пересоздавать каталог файлов  в html-формате (несколько тыс. эл.книг, в основном .djvu и .pdf, количество которых часто изменяется), чтобы в браузере можно было искать по названию или автору, и открывать книги по клику. В win пользовался программкой DirLister и сейчас вынужден ею же пользоваться через wine. Но это неудобно, т.к. приходится каждый раз править пути и перекодировать html-файл. Пробовал в качестве каталогизатора Tellico. Функциональность удовлетворяет. Работает оч.медленно и создает гигантские файлы своих баз. Отказался от использования.
Может быть кто-нибудь посоветует, как оптимальнее этот вопрос решить? Индексации содержимого файлов мне в принципе не требуется.

15 (15.06.2011 17:37:46 отредактировано dsmith)

awl, искать-то вам нужно по метаданным книги, а никак не по названию файла. Под оффтопик такие каталогизаторы есть. Под линукс могу посоветовать только FBReader (естественно, только для .fb2 и вроде .txt)- там есть каталог по авторам/сериям/названиям но! нет поиска по каталогу и придется все перекодировать в соотв. формат.
Либо опять же упомянутый tracker/ Google Desktop Search и т.д. Но решения эти универсальные, в чем одновременно и плюс и минус.

16

awl, гляньте на Calibre.

Был, был и весь вышел...

17 (15.06.2011 17:45:02 отредактировано dsmith)

Lupo Alberto пишет:

awl, гляньте на Calibre.

Я бы не стал ab мне чем-то жутко не понравилось. То ли отсутствием автоскана папок, то ли реализацией, то ли еще какими-то жуткими косяками. И это совсем не имхо.

18

Наверное плохо объяснил суть задачи.
Имеется "корневой" каталог библиотеки (~/e-books) и дерево подкаталогов - разделы библиотеки (~/e-books/Наука, ~/e-books/Техника). В подкаталогах - файлы-книги. Формат названия файла - [Автор]_[Название книги].[тип файла ("расширение")] (напр. Иванов И.И. Что такое наша жизнь.pdf).
Мне всего лишь нужно, чтобы список подкаталогов и файлов был (генерировался) в html-формате с гиперссылками на каталоги и файлы. И чтобы при открытии этого файла списка в браузере можно было:

  • искать в списке по Ctrl-F

  • по клику перейти в нужный подкаталог или открыть файл книги в программе-вьюере

Ещё раз повторяю, метаинформация из файла не нужна, в индексировании нет необходимости.
Я смотрел описания и возможности различных (в т.ч. специализированных книжных) каталогизаторов, но это всё очень навороченно и излишне функционально для меня.

19 (15.06.2011 18:53:10 отредактировано dsmith)

ну тогда ваша проблема решается простеньким скриптом на "чистом" bash. генерируете страничку с парами файл- ссылка и какой-нибудь простенькой сортировкой. А поиск- самого браузера (поиск по странице). Это даже не проблема вовсе  smile

20

dsmith пишет:

ну тогда ваша проблема решается простеньким скриптом на "чистом" bash.

Я это подозревал с самого момента возникновения проблемы...  oO
К сожалению в скриптописании не силён ac, надеюсь пока...

21

Да тут делов на 5 мин на самом деле.
Начните самого простого на perl например.

$ sudo ./test.pl

/home/user/test.pl

Сам скрипт

#!/usr/bin/perl
use warnings;

@file =`find /home/user/ -name "*.pl"`;

for $line (@file)
{
print $line;
}

В цикле
for $line (@file)
{
print $line;
}

Можно вывести в html в опредилёный файл например /var/www/catalog.html
Тут уже зависит от вас.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

22

Kettler пишет:

$ sudo ./test.pl

а зачем sudo? мы же все равно будем искать в пределах домашнего каталога пользователя. =)
кстати, а вот сюда вроде бы можно добавить в /home/user/ место user 'whoami', если конечно же имя пользователя будет совпадать с именем домашнего каталога, это будет некий универсальный способ =)
Надо завтра будет попробовать =)

It is good day to die ...
MS Windows 10
Заметки о главном...

23

smile  да я это так))))) по привычке. На perl легко написать столь лёгкую задачу.
Я бы помог ну у меня отпуск кончился так что опс.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

24

вот это добавить чтоб вытащить чисто название файла.

$pos = rindex ($line, "/");
$name = substr ($line, $pos+1);
print $name;
Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

25 (15.06.2011 21:10:02 отредактировано Kettler)

Например книга kettler_linux.pl

автор kettler книга linux  smile

Данный скрипт всё делает за наc.

#!/usr/bin/perl
@file =`find /home/user/ -name "*.pl"`;

for $line (@file)
{
$pos = rindex ($line, "/");
$name = substr ($line, $pos+1);

($author, $nam) = split ("_", $name);
$poss = rindex ($nam, ".");
$na = substr ($nam, 0, $poss);

print "автор", " ", $author, " ", "книга", " ", $na, "\n";
}

На выхлопе.

автор kettler книга linux

Остальное думаю для вас мелочь. Сюда чуток html и готов.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

26

Продолжение надо?

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

27

Спасибо за объяснения!
Но я сейчас чувствую себя как папуас во время лекции Нобелевского лауреата на тему "Квантовая механика - это очень просто!".  ag

28 (16.06.2011 13:47:55 отредактировано Kettler)

Ну так давай те больше информации.
Ток чуть марока с каталогами.
Хотя думаю если структура типо такой.

/var/www/catalog.html
/var/www/nauka/
/var/www/tehnika/
/var/www/porno/

А в них уже pdf можно что нибудь придумать.
Ещё важно что шаблон был типо.
alya_vatcen.pdf

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

29

Ещё раз спасибо за Вашу попытку помочь мне, но я уже нашёл простое решение  smile .  В очередной раз убедился, что внимательное чтение манов оч.полезно. Меня выручила команда tree c соответствующими опциями (спасибо уважаемому i2ks за подсказку).

 Консоль:
tree -a -H ~/e-books/ -o ~/listfiles.html --dirsfirst ~/e-books/

В файл listfiles.html в виде дерева выводится список подкаталогов и файлов, находящихся в каталоге ~/e-books. Файл естественно в html-формате, названия подкаталогов и находящихся в них файлов эл.книг кликабельны (гиперссылки). При открывании listfiles.html в браузере и клике по нужному файлу эл.книги, она открывается в соответствующем вьюере (у меня это настроено). Конечно же, в браузере можно вести и поиск текста в названиях эл.книг. Т.е. моя проблема полностью решена.
Спасибо также Steve Baker, Thomas Moore and Francesc Rocher, создателям и разработчикам замечательной программы tree

30

dsmith пишет:

У меня складывается впечатление, что тут собрались люди, которые просто не слышали про локальные поисковые системы. Суть в том, что сначала создается Индекс, поиск по которому на порядок быстрее, чем по "голой" ФС, а затем производится поиск по индексу. Так же многие поисковики отслеживаю изменения файлов realtime и [вероятно] модифицирую индекс. В подробности реализации не влезал, но таких систем много, есть даже от Гугла.  Утилита locate создает подобный индекс периодически, по cron`у. Я не знаю, чего еще можно обсуждать в этой теме.

Дело в том, может меня не правильно поняли вы, искать мне нужно не на локальном диске, а на болванках, которых может быть и сотня, поэтому из выше перечисленных способов, вариант с tree самый подходящий, протестировал на локальной папке запросом tree /home/buxar/Картинки/ -o /home/buxar/Картинки/test
Разочаровало в выводе:
/home/buxar/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270/

Где цифры это слово "Картинки"

Понимать по русски его заставить можно или подобную утилю какую припохать?

3.1.7.