The UNIX and Linux Forums  


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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
В. Г. hpux доступных файлов устройств, но отсутствует! mariusp Файловые системы, диски и память 1 02-10-2007 03:18 PM
Проверка отсутствующих файлов в стороне папки Nayanajith UNIX для чайников Вопросы И Ответы 4 06-26-2006 07:05 AM
Отсутствующие файлы инициализации для zsh и Баш Мааг SUN Solaris 2 05-04-2006 05:37 PM
Пропавшие библиотеки файлов jays337 UNIX для чайников Вопросы И Ответы 5 08-18-2005 09:23 PM
файлы отсутствуют кабина ^ житель UNIX для чайников Вопросы И Ответы 4 09-22-2003 04:10 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 04-26-2008
gholdbhurg gholdbhurg is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Сообщений: 26
Как проверить недостающие файлы?

У меня 50 файлов в этом каталоге (/ Home / unixnewbie / wklyfiles), а именно:
statistics.1
statistics.2
statistics.3
statistics.4
statistics.5
statistics.6
statistics.7
statistics.8
statistics.9
statistics.10
....
statistics.20
....
statistics.50

Как определить, если все там будут какие-то файлы, отсутствующие в там?
И как знать, какие точные эти файлы? Как например, statistics.5, statistics.9, statistics.20 и statistics.35 файл отсутствует на этой неделе.

Спасибо заранее.
Old 04-26-2008
эпоха era is offline Forum Advisor  
Гердер бесполезных Кошки (В субботний)
  
 

Регистрация: Mar 2008
Местоположение: / там / это / только / BIN / ш
Сообщений: 3652
Создайте список всех файлов, которые должны быть там, и сравнить.


Код:
perl -le 'for my $i (1..50) { print "missing: statistics.$i" unless -f "statistics.$i" }'

Я имел в виду для Perl Скрипт просто создать список, но это оказалось так легко делать все это в Perl. К сожалению, люди (-:

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


Код:
yes . | head -50 | nl | sed -e 's/^ *\([1-9][0-9]*\) .*/statistics.\1/' >list
ls -rt statistics.* | diff list -

Файл "список" создается с NL Утилита иметь порядковые номера, а также имя файла префикс добавляется с помощью SED. (Это вышло довольно пыткам, - это несомненно будет намного проще с AWK, но давайте просто скажем, что использование языков сценариев будут обманывать, ладно?) Затем мы сравним этот список в отношении фактического перечисления директории. Для этого необходимо, чтобы ваш дифф принимает "-" означает "читать другой файл со стандартного ввода; в противном случае вам необходимо использовать две временные файлы. (Не забудьте удалить их, когда вы закончите.)

Последний раз редактировалось эры; на 04-26-2008 01:34 PM.. Основание: альтернативный подход, только для примера
Old 04-26-2008
gholdbhurg gholdbhurg is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Сообщений: 26
Wow большое, спасибо много эру!
Надеюсь, вы не возражаете последующий вопрос, что если я хочу сохранить в файле, всех тех, имеющиеся статистические данные? И так же просто поставить на этих пространствах недостающие файлы?
Пример
\u003d\u003d>
statistics.1; statistics.2; statistics.3; statistics.4; <space>; statistics.6 ;...... statistics.19; <space>; statistics.21 ;...... статистики. 34; <space> ;.... statistics.50

Ммм ..
Old 04-26-2008
эпоха era is offline Forum Advisor  
Гердер бесполезных Кошки (В субботний)
  
 

Регистрация: Mar 2008
Местоположение: / там / это / только / BIN / ш
Сообщений: 3652

Код:
perl -e 'for my $i (1..50) { my $f = "statistics.$i"; print ($i > 1 ? ";" : ""), (-f "$f" ? "$f" : " ") }
print "\n"'

В "если? Потом: иначе" построить является довольно сложно разобраться в первый, но и для довольно простой логике после того, как вы понимаете, как она работает.
Old 04-26-2008
ripat ripat is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Oct 2006
Место проведения: Бельгия
Сообщений: 438
Другая Баш решение:


Код:
#!/bin/bash

for nbr in $(seq 50); do
    if [ ! -e "statistics.$nbr" ]; then echo "statistics.$nbr is missing"; fi
done

За один-вкладыши фанатики:

Код:
for nbr in $(seq 50); do if [ ! -e "statistics.$nbr" ]; then echo "statistics.$nbr is missing"; fi; done

Old 04-26-2008
эпоха era is offline Forum Advisor  
Гердер бесполезных Кошки (В субботний)
  
 

Регистрация: Mar 2008
Местоположение: / там / это / только / BIN / ш
Сообщений: 3652
Надлежащие фанатики будут, возможно, предпочитают


Код:
for n in $(seq 50); do [ -e statistics.$n ] || echo statistics.$n is missing; done

след не является универсальным, поэтому я начал с Perl, Но если у вас есть ее, она прекрасно подходит для такого рода работы.
Old 04-27-2008
gholdbhurg gholdbhurg is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Сообщений: 26
К сожалению, последующие doesn't работы
след: команда не найдена

Любые другие Unix сценариев линий возможно?
Кстати, я использую KSH. Спасибо!
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 03:33 AM.


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

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