Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google Site



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered By Powered by Google
 
Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 12-03-2008
Зарегистрированный пользователь
 

Регистрация: Декабрь 2008
Сообщений: 5
Список количество файлов, типы файлов

Я пытаюсь создать простой файл инвентаризации ряд огромных каталогов, содержащих электронной записи. Что я после представлен список всех каталогов и вложенных каталогов всего числа каждого типа файлов в этой директории / суб-директории. Например, вывод будет выглядеть следующим образом:
\ Главная \ erecords \ unit5007b (45 GIF, 78 JPG, 666 документов)

Я пустячный с Java-программ, которые я обнаружил, что является немного за рамки - проверка файловых типов вывода XML и т.д. Я действительно нужно число файлов по типу файла. Любая Unix инструментов там, что будет мне ближе к этой цели?
Спасибо,
Рекламные ссылки
Old 12-03-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
 

Регистрация: Декабрь 2007
Место проведения: Дом 17-чемпион мира Бостон Celtics
Сообщения: 1455
Wink Возможно, это будет служить начать?

Мой тест каталоге не имеют хорошие имена, но это, как представляется, является хорошим началом на то, что вы ищете. (Сценарий, вероятно, мог бы быть очищены некоторые; поздно здесь!)


Код:
> cat determine_files 
#! /usr/bin/bash

ls -l | grep "^d" | awk '{print $9}' | grep -v "^\." >P_WORK_DIR
while read P_DIR
   do
#   echo $P_DIR
   P_WORK_LIST=$(ls $P_DIR | cut -d"." -f2 | sort | uniq -c | tr "\n" "," | tr -s " " )
   echo $P_DIR" ("$P_WORK_LIST")"
done <P_WORK_DIR

> determine_files 
delete_extra ( 1 file100, 1 file101, 1 file102, 1 file103, 1 keep_two, 7 xml,)
files_with_spaces ( 1 f_list, 1 file 04, 1 file01, 1 see_blanks,)
indic_file ( 8 TXT, 1 makes, 1 sh,)
pass_var ( 1 file1, 1 sh,)
resnum ( 1 other0, 1 res0, 1 res1, 1 res19, 1 res2, 1 res4, 1 res666, 1 res9,)
scsi35 ( 1 35file, 1 dsk, 1 tmp,)

Old 12-04-2008
Зарегистрированный пользователь
 

Регистрация: Декабрь 2008
Сообщений: 5
Большое спасибо!

Именно это я пытался молотка вместе в течение нескольких дней!

У меня есть два последующих мероприятий: Я хочу, чтобы это рекурсивно перейти к подкаталогам также - я экспериментировал со своим сценарием немного добавить-R с первоначальным Ls команды, но их результаты не были обнадеживающими - было бы лучше иметь другую SH сценария, который выходит через дерево каталогов, и называет это одной на каждой директории?

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

LS-L | grep "^ D" | AWK '(печати $ 9)' | grep-V "^ \". > P_WORK_DIR

этого становится все реже и имена AWK является печать и что? то, что в прошлом grep является устранение "\". От имени?
Old 12-04-2008
Autocross.US's Avatar
Зарегистрированный пользователь
 

Регистрация: Nov 2008
Место проведения: Чесапикский, В. А.
Сообщений: 73
Neat сценарий. Не было известно о-с возможностью Uniq. Делает задачу намного легче.

Я сделал вариант сценария, что делает рекурсии:


Код:
find $1  -type d | while read DIR ; do
  echo "$DIR"
  ls -l "$DIR" | awk -F. '$2 !~/^$/{print $2}' | sort | uniq -c | tr "\n" "," | tr -s " "
  echo
done

Результат выглядит следующим образом:

Код:
/home/nobody/var/www/manual/mod
 204 html,
/home/nobody/var/www/manual/mod/mod_python
 1 css, 99 html,
/home/nobody/var/www/manual/mod/mod_python/icons
 7 gif, 7 png,

Запустите его, как: scriptname / каталог

Последний раз редактировалось Autocross.US; на 12-04-2008 12:56 PM.. Причина: обновление для обработки каталогов с пробелами в имени
Old 12-04-2008
Зарегистрированный пользователь
 

Регистрация: Декабрь 2008
Сообщений: 5
Тем не менее борьба с пробелами в именах файлов

в этой строке:

Код:
ls -l | grep "^d" | awk '{print $9}' | grep -v "^\." >P_WORK_DIR

как я могу добавить одно котировки в обе стороны от реж имя, которое сохраняется в P_WORK_DIR? Так что в этом списке в реж имя / HAS Пространства / будет сохранен как "HAS пространств"

Я надеялся, что будет делать трюк в получении Ls команду для работы над каталогами с пробелами в имени ...
Old 12-04-2008
Зарегистрированный пользователь
 

Регистрация: Apr 2008
Место проведения: Польша / Ольштын
Сообщений: 3
Сценарий (позволяет называть его filetype.sh):

Код:
for file in `ls`
do
file $file
done

Сейчас:

Код:
sh filetype.sh  > typeofeachfileindir.txt
sed -n -e 's/.*: \(.*\)/\1/p' typeofeachfileindir.txt | sort | uniq > filetypesindir.txt

cat filetypesindir.txt | while read filetype
do
cat typeofeachfileindir.txt | grep $filetype | wc -l | echo -n $filetype": "
done
rm typeofeachfileindir.txt
rm filetypesindir.txt

Это следует проверить файлы в файлы в директорию на основе их данных не продления.
Я оставляю директорию рекурсии до вас. Надеюсь, что это помогает.
Old 12-04-2008
radoulov's Avatar
--
 

Регистрация: Январь 2007
Местоположение: Варна, България / Милан, Италия
Сообщения: 3209
Еще один путь расширения:


Код:
find . -type d |
  perl -nle'
    map @_{/([^.]+?)$/}++, grep -f, glob "$_/*.*";
    print "\t---> $_\n", join ", ", map "$_: $_{$_}", keys %_;
	undef %_
    '


Последний раз редактировалось radoulov; на 12-05-2008 05:08 AM.. Основание: refactored
Рекламные ссылки
Closed Thread

Закладки

Теги
каталог, дескриптор файла, тип файла

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся Вне


Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Ls> Файл - Создание файла, содержащего список всех файлов в каталоге pranavagarwal Shell программирование и сценарии 1 09-26-2008 09:37 PM
Поиск дубликатов файлов с multuple сравнению с 2 типами файлов ricky007 Shell программирование и сценарии 2 03-04-2008 01:46 PM
Выбор файлов, основанный на его типы ganapati UNIX перспективных И опытных пользователей 3 02-04-2008 10:09 AM
Найти каталог с 2 типами файлов dangral UNIX для чайников Вопросы И Ответы 2 10-13-2004 02:51 PM
файла из файла, который в списке файлов. yls177 UNIX для чайников Вопросы И Ответы 3 04-10-2003 12:30 PM



Часовой пояс GMT -4. Текущее время 05:25 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX и Linux Форум Авторские права © 1993-2010 годов. Все права Reserved.Ad управление RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0