The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Командная процедура UNIX"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Командная процедура UNIX"  
Сообщение от greTTa email on 21-Дек-06, 23:36 
Здравствуйте, О-о-о-очень нужна помощь, по UNIX-у было всего 2 практический занятия, и разобраться пока в нем полностью не получается. Очень нужно выполнить задание, иначе не видать сданной сессии как своих ушей :( Задание такое:
Разработать командную процедуру, сравнивающую файлы в 2-ух каталогах с эталонным файлом. Имена каталогов и эталонного файла задаются в качестве параметров процедуры. На экран выводятся несовпадающие строки файлов.
и еще вопрос, адреса каталогов нужно ведь полностью прописывать?
Жду помощи...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Командная процедура UNIX"  
Сообщение от ctax (??) on 22-Дек-06, 10:28 
>Здравствуйте, О-о-о-очень нужна помощь, по UNIX-у было всего 2 практический занятия, и
>разобраться пока в нем полностью не получается. Очень нужно выполнить задание,
>иначе не видать сданной сессии как своих ушей :( Задание такое:
>
>Разработать командную процедуру, сравнивающую файлы в 2-ух каталогах с эталонным файлом. Имена
>каталогов и эталонного файла задаются в качестве параметров процедуры. На экран
>выводятся несовпадающие строки файлов.
>и еще вопрос, адреса каталогов нужно ведь полностью прописывать?
>Жду помощи...


shell какой?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Командная процедура UNIX"  
Сообщение от greTTa email on 22-Дек-06, 14:50 
Основным интерпретатором считаем sh, для записи командных процедур Unix.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Командная процедура UNIX"  
Сообщение от ctax (??) on 25-Дек-06, 11:08 
#!/bin/sh
standart=$1
shift
until [ -z "$1" ]
do
    for FILE in `ls $1`
    do
        if [ -f $1/$FILE ]
        then
        echo "$1/$FILE"
        echo "`diff $standart $1/$FILE`"
        fi
    done
shift
done

Запишите это в файл(например cmd), сделайте ему chmod +x cmd
Запускается так ./cmd standart DIR1 DIR2 DIR3
standart - это file-эталон
DIR* папки в которых лежат файлы для сравнения (их может быть сколько угодно)

>и еще вопрос, адреса каталогов нужно ведь полностью прописывать?

можно и полностью, и относительно
см также man diff,man comm, можно в русских man'ах opennet.ru

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Командная процедура UNIX"  
Сообщение от greTTa email on 26-Дек-06, 00:15 
>#!/bin/sh
>standart=$1
>shift
>until [ -z "$1" ]
>do
>    for FILE in `ls $1`
>    do
>        if [ -f $1/$FILE
>]
>        then
>        echo "$1/$FILE"
>        echo "`diff $standart $1/$FILE`"
>
>        fi
>    done
>shift
>done

О, спасибо! только вот что такое -z и -f ( -f $1/$FILE,  -z "$1" )....у меня таких операций не находит...и зацикливается

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Командная процедура UNIX"  
Сообщение от ctax (??) on 26-Дек-06, 10:44 
>что такое -z и -f ( -f $1/$FILE,
> -z "$1" )....у меня таких операций не находит...и зацикливается

-z - пустая строка
-f - строка является файлом

Что за система??
uname -a

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру