как узнать имена файлов из двух директорий

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-08 11:05:32

как узнать имена файлов из двух директорий (~/dir1 and ~/dir2)и потом сравнить содержимое файлов diff ~/dir1/namefile ~/dir2/namefile
заранее спасибо

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение rmn » 2011-06-08 11:57:12

сравнить файлы с одинаковыми именами в двух каталогах?

Код: Выделить всё

#!/bin/sh

for i in `ls dir1 dir2 | grep -v dir1 | grep -v dir2 | sort | uniq -c | grep " 2 " | awk '{print $2}'`
do
        diff dir1/$i dir2/$i
done


ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-08 15:19:47

вопрос а как распарсить вывод diff для удобного чтения


Аватара пользователя
Le1
рядовой
Сообщения: 45
Зарегистрирован: 2007-11-12 19:19:33
Контактная информация:

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение Le1 » 2011-06-08 16:45:27

Может быть тебе нужно что то на подобии этого:

Код: Выделить всё

#!/usr/local/bin/bash

DIR1="/tmp/dir1"
DIR2="/tmp/dir2"

for i in `ls $DIR1 $DIR2 | grep -v $DIR1 | grep -v $DIR2 | sort | uniq -c | grep " 2 " | awk '{print $2}'`
do
        echo "[+] DIFF OF" $DIR1/$i $DIR2/$i
        comm -3 $DIR1/$i $DIR2/$i
        echo "===================================================="
done


ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-09 10:03:37

нет это не совсем то что нужно но все равно спасибо буду иметь в виду. У меня проблема токая есть потабличная выгрузка структуры БД орокала но с разных серверов но там есть разница в том что допустим diff проверяет по построчно и если нет совпадения то пишет ошибку а на самом деле она есть тока чуть ниже. можно ли проверить таким образом чтоб искались тока явные не схождения

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение kpp » 2011-06-09 12:12:58

Покажите для примера эти файлы.
Порядок следования строк должен совпадать или нет?
Если должен - дифф - самое оно, если порядок произвольный, нужно посмотреть как инфа представлена в файлах.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-09 13:19:04

Код: Выделить всё

-- Unable to render TABLE DDL for object ELDA.ART$ with DBMS_METADATA attempting internal generator.
CREATE TABLE ELDA.ART$ 
(
  ID NUMBER(*, 0) NOT NULL 
, LASL NUMBER(10, 0) 
, SZARTNR VARCHAR2(20 BYTE) NOT NULL 
, LMANDANT NUMBER(10, 0) NOT NULL 
, INSERT_WHO VARCHAR2(30 BYTE) DEFAULT user NOT NULL 
, INSERT_DATE TIMESTAMP(6) DEFAULT systimestamp NOT NULL 
, UPDATE_WHO VARCHAR2(30 BYTE) 
, UPDATE_DATE TIMESTAMP(6) 
, NAME VARCHAR2(128 BYTE) 
, NAME_SHORT VARCHAR2(64 BYTE) 
, NAME_LONG VARCHAR2(256 BYTE) 
, NAME_EN VARCHAR2(128 BYTE) 
, NAME_SHORT_EN VARCHAR2(64 BYTE) 
, NAME_LONG_EN VARCHAR2(256 BYTE) 
, REQUIRE_STICKERING NUMBER(*, 0) 
, STICKER_NUMBER VARCHAR2(32 BYTE) 
, WPS VARCHAR2(32 BYTE) 
, REQUIRE_FOILING NUMBER(*, 0) 
, FOIL_REQUIRE_STICKERING NUMBER(*, 0) 
, FOIL_STICKER_NUMBER VARCHAR2(32 BYTE) 
, KIT NUMBER(*, 0) DEFAULT 0 NOT NULL 
, AGE NUMBER(*, 0) 
, GOST VARCHAR2(250 BYTE) 
, SUPPLIER_FACTORY_CODE VARCHAR2(20 BYTE) 
, EKP_CODE VARCHAR2(30 BYTE) 
, LOCALIZATION_NEEDED VARCHAR2(1 BYTE) 
, SOURCE_EDIZM NUMBER(*, 0) 
, MATERIAL_NUMBER VARCHAR2(50 BYTE) 
, BASIC_MATERIAL VARCHAR2(50 BYTE) 
, NOTE VARCHAR2(1000 BYTE) 
, DEFAULT_EI NUMBER(*, 0) DEFAULT NULL 
, PLANT_ART VARCHAR2(255 BYTE) 
, SHADE CHAR(1 BYTE) DEFAULT 'N' 
, PROPER_CODE VARCHAR2(50 BYTE) 
, PROPER_NAME VARCHAR2(50 BYTE) 
, IS_EXPIR CHAR(1 BYTE) DEFAULT 'N' 
, MANDATORY_SIZE CHAR(1 BYTE) DEFAULT 'N' 
, CUSTOM_CODE VARCHAR2(50 BYTE) 
, PRODUCT_HIER_CODE VARCHAR2(50 BYTE) 
, ART_DATE DATE 
, IS_SCAN_SERIAL CHAR(1 BYTE) DEFAULT 'N' 
, SROK_KOMMERCIAL NUMBER 
, ART_GROUP VARCHAR2(3 BYTE) 
, ART_GROUP_ID NUMBER(4, 0) 
, STICKER_SIZE VARCHAR2(20 BYTE) 
, FACTOR_VPE NUMBER(*, 0) 
, FACTOR_TE NUMBER(*, 0) 
, VOLUME_EI NUMBER(*, 0) 
, PACK_EI NUMBER(*, 0) 
, PROD_DATE_NEEDED CHAR(1 BYTE) DEFAULT 'N' 
, CHARGE_NEEDED CHAR(1 BYTE) DEFAULT 'N' 
, CODING_REQUIRED NUMBER 
, DFU_REQUIRED NUMBER 
, DFU_TYPE VARCHAR2(32 BYTE) 
, SYNCHRONYZE_ADV NUMBER(1, 0) 
, DELETION_MARK CHAR(1 BYTE) DEFAULT 'N' 
, STOP_SHIP NUMBER(*, 0) 
, PMASK1 VARCHAR2(20 BYTE) 
, STORAGE_CONDITIONS VARCHAR2(256 BYTE) 
, PRODUCER_INFO VARCHAR2(256 BYTE) 
, WARNINGS VARCHAR2(256 BYTE) 
, UN_MES_ID NUMBER(*, 0) 
, COUNT_EI_ON_TE NUMBER 
, CONSTRAINT ART$_PK PRIMARY KEY 
  (
    ID 
  )
  ENABLE 
) 
LOGGING 
TABLESPACE "ELDADATA" 
PCTFREE 10 
INITRANS 1 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)CREATE INDEX ELDA.ART$LMANDANT_IX ON ELDA.ART$ (LMANDANT ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$SZARTNR1_IX ON ELDA.ART$ (UPPER(SZARTNR) ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$SZARTNR2_IX ON ELDA.ART$ (UPPER(SZARTNR) ASC, LMANDANT ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_ART_GROUP_ID_IX ON ELDA.ART$ (ART_GROUP_ID ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_DEFAULT_EI_IX ON ELDA.ART$ (DEFAULT_EI ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_FACTOR_TE_IX ON ELDA.ART$ (FACTOR_TE ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_FACTOR_VPE_IX ON ELDA.ART$ (FACTOR_VPE ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_KIT_IX ON ELDA.ART$ (KIT ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_PACK_EI_IX ON ELDA.ART$ (PACK_EI ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_VOLUME_EI_IX ON ELDA.ART$ (VOLUME_EI ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)COMMENT ON COLUMN ELDA.ART$.ID IS 'ID';
COMMENT ON COLUMN ELDA.ART$.LASL IS 'ID артикула по Адвантикс (ADVWM.ART_REF.LASL)';
COMMENT ON COLUMN ELDA.ART$.SZARTNR IS 'Клиеентский ID артикула (ADVWM.ART_REF.SZARTNR)';
COMMENT ON COLUMN ELDA.ART$.LMANDANT IS 'Мандант (ADVWM.ART_REF.LMANDANT)';
COMMENT ON COLUMN ELDA.ART$.INSERT_WHO IS 'Вставка, кто';
COMMENT ON COLUMN ELDA.ART$.INSERT_DATE IS 'Вставка, когда';
COMMENT ON COLUMN ELDA.ART$.UPDATE_WHO IS 'Обновление, кто';
COMMENT ON COLUMN ELDA.ART$.UPDATE_DATE IS 'Обновление, когда';
COMMENT ON COLUMN ELDA.ART$.NAME IS 'Наименование';
COMMENT ON COLUMN ELDA.ART$.NAME_SHORT IS 'Наименование короткое';
COMMENT ON COLUMN ELDA.ART$.NAME_LONG IS 'Наименование длинное';
COMMENT ON COLUMN ELDA.ART$.NAME_EN IS 'Наименование, English';
COMMENT ON COLUMN ELDA.ART$.NAME_SHORT_EN IS 'Наименование короткое, English';
COMMENT ON COLUMN ELDA.ART$.NAME_LONG_EN IS 'Наименование длинное, English';
COMMENT ON COLUMN ELDA.ART$.REQUIRE_STICKERING IS 'Требуется стикеровка';
COMMENT ON COLUMN ELDA.ART$.STICKER_NUMBER IS 'Номер стикера';
COMMENT ON COLUMN ELDA.ART$.WPS IS 'Where to put the sticker (outerbox/individual box/bare product)   - Место расклейки (короб/индивидуальная упаковка/товар)';
COMMENT ON COLUMN ELDA.ART$.REQUIRE_FOILING IS 'Требуется ли упаковка в пленку';
COMMENT ON COLUMN ELDA.ART$.FOIL_REQUIRE_STICKERING IS 'Требуется ли стикер на упаковку';
COMMENT ON COLUMN ELDA.ART$.FOIL_STICKER_NUMBER IS 'Номер стикера на упаковку';
COMMENT ON COLUMN ELDA.ART$.KIT IS 'Признак того что этот артикул является комплектом (0 - не комплект, 1 - комплект, -1 - требуется определение)';
COMMENT ON COLUMN ELDA.ART$.AGE IS 'Срок жизни товара в днях';
COMMENT ON COLUMN ELDA.ART$.GOST IS 'Гост, ТУ данного товара';
COMMENT ON COLUMN ELDA.ART$.SUPPLIER_FACTORY_CODE IS 'Код фабрики поставщика';
COMMENT ON COLUMN ELDA.ART$.EKP_CODE IS 'Код ЕКП (Единый Классификатор Подукции)';
COMMENT ON COLUMN ELDA.ART$.LOCALIZATION_NEEDED IS 'Признак необходимости локализации для артикула';
COMMENT ON COLUMN ELDA.ART$.SOURCE_EDIZM IS 'Оригинальная единица измерения';
COMMENT ON COLUMN ELDA.ART$.MATERIAL_NUMBER IS '[art_prop] SAP Material Number. Артикул в учетной системе клиента';
COMMENT ON COLUMN ELDA.ART$.BASIC_MATERIAL IS '[art_prop] Модель (Basic Material Number - указывается на коробке с товаром)';
COMMENT ON COLUMN ELDA.ART$.NOTE IS '[art_prop] Примечание';
COMMENT ON COLUMN ELDA.ART$.DEFAULT_EI IS 'Единица измерения по умолчанию (art$ei.id)';
COMMENT ON COLUMN ELDA.ART$.PLANT_ART IS '[art_prop] Заводской артикул';
COMMENT ON COLUMN ELDA.ART$.SHADE IS '[art_prop] Обязательность учета оттенков';
COMMENT ON COLUMN ELDA.ART$.PROPER_CODE IS '[art_prop] Код группы потребительских свойств';
COMMENT ON COLUMN ELDA.ART$.PROPER_NAME IS '[art_prop] Название группы потребительских свойств';
COMMENT ON COLUMN ELDA.ART$.IS_EXPIR IS '[art_prop] Обязательный срок годности';
COMMENT ON COLUMN ELDA.ART$.MANDATORY_SIZE IS '[art_prop] Обязательный размер';
COMMENT ON COLUMN ELDA.ART$.CUSTOM_CODE IS '[art_prop] Код ТНВЭД';
COMMENT ON COLUMN ELDA.ART$.PRODUCT_HIER_CODE IS '[art_prop] Первые 10 символов продуктовой иерархии SONY';
COMMENT ON COLUMN ELDA.ART$.ART_DATE IS '[art_prop] Дата/время обновления артикула. Присылается клиентом';
COMMENT ON COLUMN ELDA.ART$.IS_SCAN_SERIAL IS '[art_prop] Признак сканирования серийных номеров, Y - надо сканировать, N - не надо';
COMMENT ON COLUMN ELDA.ART$.SROK_KOMMERCIAL IS '[art_prop] Срок коммерциализации';
COMMENT ON COLUMN ELDA.ART$.ART_GROUP IS '[art_prop] Группа артикула. ''SMD'' для мелкогабаритного товара, ''КБТ'' - для крупногабаритного, Null - все остальное (среднегабаритный)';
COMMENT ON COLUMN ELDA.ART$.ART_GROUP_ID IS '[art_prop] Группа артикула';
COMMENT ON COLUMN ELDA.ART$.STICKER_SIZE IS 'Размер стикера на объекте его расклейки (поле WPS)';
COMMENT ON COLUMN ELDA.ART$.FACTOR_VPE IS 'ID коэффициента преобразования (ART$EI2EI.ID) - для расчета ART_CATALOG.DMENGEVPE';
COMMENT ON COLUMN ELDA.ART$.FACTOR_TE IS 'ID коэффициента преобразования (ART$EI2EI.ID) - для расчета ART_CATALOG.DMENGE';
COMMENT ON COLUMN ELDA.ART$.VOLUME_EI IS 'Единица измерения для расчета занимаемого объема - соответствие ART_CATALOG.SME_DIMENSION';
COMMENT ON COLUMN ELDA.ART$.PACK_EI IS 'Упаковочная единица измерения (art$ei.id)';
COMMENT ON COLUMN ELDA.ART$.PROD_DATE_NEEDED IS 'Обязательное заполнение даты производства';
COMMENT ON COLUMN ELDA.ART$.CHARGE_NEEDED IS 'Обязательное заполнение партии';
COMMENT ON COLUMN ELDA.ART$.CODING_REQUIRED IS 'Требуется перепрошивка';
COMMENT ON COLUMN ELDA.ART$.DFU_REQUIRED IS 'Требуется вкладывание гарантийного талона';
COMMENT ON COLUMN ELDA.ART$.DFU_TYPE IS 'Вид гарантийного талона';
COMMENT ON COLUMN ELDA.ART$.SYNCHRONYZE_ADV IS 'Нуждается в синхронизации с Адвантиксом (1 - ДА)';
COMMENT ON COLUMN ELDA.ART$.DELETION_MARK IS 'Метка удаления артикула (аналог art_stamm.BLOESCH)';
COMMENT ON COLUMN ELDA.ART$.STOP_SHIP IS 'Срок прекращения отгрузки в днях';
COMMENT ON COLUMN ELDA.ART$.PMASK1 IS 'Маска партии (Cadbury - Префикс завода)';
COMMENT ON COLUMN ELDA.ART$.STORAGE_CONDITIONS IS 'Условия хранения и перевозки';
COMMENT ON COLUMN ELDA.ART$.PRODUCER_INFO IS 'Производитель (наименование, адрес)';
COMMENT ON COLUMN ELDA.ART$.WARNINGS IS 'Предупредительные надписи';
COMMENT ON COLUMN ELDA.ART$.UN_MES_ID IS '[art_prop] ID складской единицы измерения артикула (напрямую не изменять!)';
COMMENT ON COLUMN ELDA.ART$.COUNT_EI_ON_TE IS '[art_prop] Количество единиц измерений на транспортную единицу (напрямую не изменять!)';ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$SOURCE_EDIZM_FK FOREIGN KEY
(
  SOURCE_EDIZM 
)
REFERENCES ELDA.EDIZM
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_ART_GROUP_ID_FK FOREIGN KEY
(
  ART_GROUP_ID 
)
REFERENCES ELDA.ART$GRP
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_DEFAULT_EI_FK FOREIGN KEY
(
  DEFAULT_EI 
)
REFERENCES ELDA.ART$EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_FACTOR_TE_FK FOREIGN KEY
(
  FACTOR_TE 
)
REFERENCES ELDA.ART$EI2EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_FACTOR_VPE_FK FOREIGN KEY
(
  FACTOR_VPE 
)
REFERENCES ELDA.ART$EI2EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_PACK_EI_FK FOREIGN KEY
(
  PACK_EI 
)
REFERENCES ELDA.ART$EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_VOLUME_EI_FK FOREIGN KEY
(
  VOLUME_EI 
)
REFERENCES ELDA.ART$EI
(
  ID 
)
ENABLEALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$LASL_UN UNIQUE 
(
  LASL 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$MANDANT_SZARTNR_UN UNIQUE 
(
  SZARTNR 
, LMANDANT 
)
ENABLECOMMENT ON TABLE ELDA.ART$ IS 'Каталог артикулов'ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_DELETION_MARK_CK CHECK 
(DELETION_MARK IN ('Y', 'N'))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_FOIL_REQ_STICKERING_CK CHECK 
(FOIL_REQUIRE_STICKERING IN (0, 1))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_IS_SCAN_SERIAL_CK CHECK 
(IS_SCAN_SERIAL IN ('Y', 'N'))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_KIT_CK CHECK 
(KIT IN (-1, 0, 1))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_LOCALIZATION_NEEDED_CK CHECK 
(LOCALIZATION_NEEDED IN ('Y', 'N'))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_REQUIRE_FOILING_CK CHECK 
(REQUIRE_FOILING IN (0, 1))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_REQUIRE_STICKERING_CK CHECK 
(REQUIRE_STICKERING IN (0, 1))
ENABLE
вот тажа самая таблица тока с другова сервера

Код: Выделить всё

-- Unable to render TABLE DDL for object ELDA.ART$ with DBMS_METADATA attempting internal generator.
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$SOURCE_EDIZM_FK FOREIGN KEY
(
  SOURCE_EDIZM 
)
REFERENCES ELDA.EDIZM
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_ART_GROUP_ID_FK FOREIGN KEY
(
  ART_GROUP_ID 
)
REFERENCES ELDA.ART$GRP
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_DEFAULT_EI_FK FOREIGN KEY
(
  DEFAULT_EI 
)
REFERENCES ELDA.ART$EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_FACTOR_TE_FK FOREIGN KEY
(
  FACTOR_TE 
)
REFERENCES ELDA.ART$EI2EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_FACTOR_VPE_FK FOREIGN KEY
(
  FACTOR_VPE 
)
REFERENCES ELDA.ART$EI2EI
(
  ID 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_VOLUME_EI_FK FOREIGN KEY
(
  VOLUME_EI 
)
REFERENCES ELDA.ART$EI
(
  ID 
)
ENABLECREATE TABLE ELDA.ART$ 
(
  ID NUMBER(*, 0) NOT NULL 
, LASL NUMBER(10, 0) 
, SZARTNR VARCHAR2(20 BYTE) NOT NULL 
, LMANDANT NUMBER(10, 0) NOT NULL 
, INSERT_WHO VARCHAR2(30 BYTE) DEFAULT user NOT NULL 
, INSERT_DATE TIMESTAMP(6) DEFAULT systimestamp NOT NULL 
, UPDATE_WHO VARCHAR2(30 BYTE) 
, UPDATE_DATE TIMESTAMP(6) 
, NAME VARCHAR2(128 BYTE) 
, NAME_SHORT VARCHAR2(64 BYTE) 
, NAME_LONG VARCHAR2(256 BYTE) 
, NAME_EN VARCHAR2(128 BYTE) 
, NAME_SHORT_EN VARCHAR2(64 BYTE) 
, NAME_LONG_EN VARCHAR2(256 BYTE) 
, REQUIRE_STICKERING NUMBER(*, 0) 
, STICKER_NUMBER VARCHAR2(32 BYTE) 
, WPS VARCHAR2(32 BYTE) 
, REQUIRE_FOILING NUMBER(*, 0) 
, FOIL_REQUIRE_STICKERING NUMBER(*, 0) 
, FOIL_STICKER_NUMBER VARCHAR2(32 BYTE) 
, KIT NUMBER(*, 0) DEFAULT 0 NOT NULL 
, AGE NUMBER(*, 0) 
, GOST VARCHAR2(250 BYTE) 
, SUPPLIER_FACTORY_CODE VARCHAR2(20 BYTE) 
, EKP_CODE VARCHAR2(30 BYTE) 
, LOCALIZATION_NEEDED VARCHAR2(1 BYTE) 
, SOURCE_EDIZM NUMBER(*, 0) 
, MATERIAL_NUMBER VARCHAR2(50 BYTE) 
, BASIC_MATERIAL VARCHAR2(50 BYTE) 
, NOTE VARCHAR2(1000 BYTE) 
, DEFAULT_EI NUMBER(*, 0) DEFAULT NULL 
, PLANT_ART VARCHAR2(255 BYTE) 
, SHADE CHAR(1 BYTE) DEFAULT 'N' 
, PROPER_CODE VARCHAR2(50 BYTE) 
, PROPER_NAME VARCHAR2(50 BYTE) 
, IS_EXPIR CHAR(1 BYTE) DEFAULT 'N' 
, MANDATORY_SIZE CHAR(1 BYTE) DEFAULT 'N' 
, CUSTOM_CODE VARCHAR2(50 BYTE) 
, PRODUCT_HIER_CODE VARCHAR2(50 BYTE) 
, ART_DATE DATE 
, IS_SCAN_SERIAL CHAR(1 BYTE) DEFAULT 'N' 
, SROK_KOMMERCIAL NUMBER 
, ART_GROUP VARCHAR2(3 BYTE) 
, ART_GROUP_ID NUMBER(4, 0) 
, STICKER_SIZE VARCHAR2(20 BYTE) 
, FACTOR_VPE NUMBER(*, 0) 
, FACTOR_TE NUMBER(*, 0) 
, VOLUME_EI NUMBER(*, 0) 
, PACK_EI NUMBER(*, 0) 
, PROD_DATE_NEEDED CHAR(1 BYTE) DEFAULT 'N' 
, CHARGE_NEEDED CHAR(1 BYTE) DEFAULT 'N' 
, CODING_REQUIRED NUMBER 
, DFU_REQUIRED NUMBER 
, DFU_TYPE VARCHAR2(32 BYTE) 
, SYNCHRONYZE_ADV NUMBER(1, 0) 
, DELETION_MARK CHAR(1 BYTE) DEFAULT 'N' 
, STOP_SHIP NUMBER(*, 0) 
, PMASK1 VARCHAR2(20 BYTE) 
, STORAGE_CONDITIONS VARCHAR2(256 BYTE) 
, PRODUCER_INFO VARCHAR2(256 BYTE) 
, WARNINGS VARCHAR2(256 BYTE) 
, UN_MES_ID NUMBER(*, 0) 
, COUNT_EI_ON_TE NUMBER 
, CONSTRAINT ART$_PK PRIMARY KEY 
  (
    ID 
  )
  ENABLE 
) 
LOGGING 
TABLESPACE "ELDADATA" 
PCTFREE 10 
INITRANS 1 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)COMMENT ON COLUMN ELDA.ART$.ID IS 'ID';
COMMENT ON COLUMN ELDA.ART$.LASL IS 'ID артикула по Адвантикс (ADVWM.ART_REF.LASL)';
COMMENT ON COLUMN ELDA.ART$.SZARTNR IS 'Клиеентский ID артикула (ADVWM.ART_REF.SZARTNR)';
COMMENT ON COLUMN ELDA.ART$.LMANDANT IS 'Мандант (ADVWM.ART_REF.LMANDANT)';
COMMENT ON COLUMN ELDA.ART$.INSERT_WHO IS 'Вставка, кто';
COMMENT ON COLUMN ELDA.ART$.INSERT_DATE IS 'Вставка, когда';
COMMENT ON COLUMN ELDA.ART$.UPDATE_WHO IS 'Обновление, кто';
COMMENT ON COLUMN ELDA.ART$.UPDATE_DATE IS 'Обновление, когда';
COMMENT ON COLUMN ELDA.ART$.NAME IS 'Наименование';
COMMENT ON COLUMN ELDA.ART$.NAME_SHORT IS 'Наименование короткое';
COMMENT ON COLUMN ELDA.ART$.NAME_LONG IS 'Наименование длинное';
COMMENT ON COLUMN ELDA.ART$.NAME_EN IS 'Наименование, English';
COMMENT ON COLUMN ELDA.ART$.NAME_SHORT_EN IS 'Наименование короткое, English';
COMMENT ON COLUMN ELDA.ART$.NAME_LONG_EN IS 'Наименование длинное, English';
COMMENT ON COLUMN ELDA.ART$.REQUIRE_STICKERING IS 'Требуется стикеровка';
COMMENT ON COLUMN ELDA.ART$.STICKER_NUMBER IS 'Номер стикера';
COMMENT ON COLUMN ELDA.ART$.WPS IS 'Where to put the sticker (outerbox/individual box/bare product)   - Место расклейки (короб/индивидуальная упаковка/товар)';
COMMENT ON COLUMN ELDA.ART$.REQUIRE_FOILING IS 'Требуется ли упаковка в пленку';
COMMENT ON COLUMN ELDA.ART$.FOIL_REQUIRE_STICKERING IS 'Требуется ли стикер на упаковку';
COMMENT ON COLUMN ELDA.ART$.FOIL_STICKER_NUMBER IS 'Номер стикера на упаковку';
COMMENT ON COLUMN ELDA.ART$.KIT IS 'Признак того что этот артикул является комплектом (0 - не комплект, 1 - комплект, -1 - требуется определение)';
COMMENT ON COLUMN ELDA.ART$.AGE IS 'Срок жизни товара в днях';
COMMENT ON COLUMN ELDA.ART$.GOST IS 'Гост, ТУ данного товара';
COMMENT ON COLUMN ELDA.ART$.SUPPLIER_FACTORY_CODE IS 'Код фабрики поставщика';
COMMENT ON COLUMN ELDA.ART$.EKP_CODE IS 'Код ЕКП (Единый Классификатор Подукции)';
COMMENT ON COLUMN ELDA.ART$.LOCALIZATION_NEEDED IS 'Признак необходимости локализации для артикула';
COMMENT ON COLUMN ELDA.ART$.SOURCE_EDIZM IS 'Оригинальная единица измерения';
COMMENT ON COLUMN ELDA.ART$.MATERIAL_NUMBER IS '[art_prop] SAP Material Number. Артикул в учетной системе клиента';
COMMENT ON COLUMN ELDA.ART$.BASIC_MATERIAL IS '[art_prop] Модель (Basic Material Number - указывается на коробке с товаром)';
COMMENT ON COLUMN ELDA.ART$.NOTE IS '[art_prop] Примечание';
COMMENT ON COLUMN ELDA.ART$.DEFAULT_EI IS 'Единица измерения по умолчанию (art$ei.id)';
COMMENT ON COLUMN ELDA.ART$.PLANT_ART IS '[art_prop] Заводской артикул';
COMMENT ON COLUMN ELDA.ART$.SHADE IS '[art_prop] Обязательность учета оттенков';
COMMENT ON COLUMN ELDA.ART$.PROPER_CODE IS '[art_prop] Код группы потребительских свойств';
COMMENT ON COLUMN ELDA.ART$.PROPER_NAME IS '[art_prop] Название группы потребительских свойств';
COMMENT ON COLUMN ELDA.ART$.IS_EXPIR IS '[art_prop] Обязательный срок годности';
COMMENT ON COLUMN ELDA.ART$.MANDATORY_SIZE IS '[art_prop] Обязательный размер';
COMMENT ON COLUMN ELDA.ART$.CUSTOM_CODE IS '[art_prop] Код ТНВЭД';
COMMENT ON COLUMN ELDA.ART$.PRODUCT_HIER_CODE IS '[art_prop] Первые 10 символов продуктовой иерархии SONY';
COMMENT ON COLUMN ELDA.ART$.ART_DATE IS '[art_prop] Дата/время обновления артикула. Присылается клиентом';
COMMENT ON COLUMN ELDA.ART$.IS_SCAN_SERIAL IS '[art_prop] Признак сканирования серийных номеров, Y - надо сканировать, N - не надо';
COMMENT ON COLUMN ELDA.ART$.SROK_KOMMERCIAL IS '[art_prop] Срок коммерциализации';
COMMENT ON COLUMN ELDA.ART$.ART_GROUP IS '[art_prop] Группа артикула. ''SMD'' для мелкогабаритного товара, ''КБТ'' - для крупногабаритного, Null - все остальное (среднегабаритный)';
COMMENT ON COLUMN ELDA.ART$.ART_GROUP_ID IS '[art_prop] Группа артикула';
COMMENT ON COLUMN ELDA.ART$.STICKER_SIZE IS 'Размер стикера на объекте его расклейки (поле WPS)';
COMMENT ON COLUMN ELDA.ART$.FACTOR_VPE IS 'ID коэффициента преобразования (ART$EI2EI.ID) - для расчета ART_CATALOG.DMENGEVPE';
COMMENT ON COLUMN ELDA.ART$.FACTOR_TE IS 'ID коэффициента преобразования (ART$EI2EI.ID) - для расчета ART_CATALOG.DMENGE';
COMMENT ON COLUMN ELDA.ART$.VOLUME_EI IS 'Единица измерения для расчета занимаемого объема - соответствие ART_CATALOG.SME_DIMENSION';
COMMENT ON COLUMN ELDA.ART$.PACK_EI IS 'Упаковочная единица измерения (art$ei.id)';
COMMENT ON COLUMN ELDA.ART$.PROD_DATE_NEEDED IS 'Обязательное заполнение даты производства';
COMMENT ON COLUMN ELDA.ART$.CHARGE_NEEDED IS 'Обязательное заполнение партии';
COMMENT ON COLUMN ELDA.ART$.CODING_REQUIRED IS 'Требуется перепрошивка';
COMMENT ON COLUMN ELDA.ART$.DFU_REQUIRED IS 'Требуется вкладывание гарантийного талона';
COMMENT ON COLUMN ELDA.ART$.DFU_TYPE IS 'Вид гарантийного талона';
COMMENT ON COLUMN ELDA.ART$.SYNCHRONYZE_ADV IS 'Нуждается в синхронизации с Адвантиксом (1 - ДА)';
COMMENT ON COLUMN ELDA.ART$.DELETION_MARK IS 'Метка удаления артикула (аналог art_stamm.BLOESCH)';
COMMENT ON COLUMN ELDA.ART$.STOP_SHIP IS 'Срок прекращения отгрузки в днях';
COMMENT ON COLUMN ELDA.ART$.PMASK1 IS 'Маска партии (Cadbury - Префикс завода)';
COMMENT ON COLUMN ELDA.ART$.STORAGE_CONDITIONS IS 'Условия хранения и перевозки';
COMMENT ON COLUMN ELDA.ART$.PRODUCER_INFO IS 'Производитель (наименование, адрес)';
COMMENT ON COLUMN ELDA.ART$.WARNINGS IS 'Предупредительные надписи';
COMMENT ON COLUMN ELDA.ART$.UN_MES_ID IS '[art_prop] ID складской единицы измерения артикула (напрямую не изменять!)';
COMMENT ON COLUMN ELDA.ART$.COUNT_EI_ON_TE IS '[art_prop] Количество единиц измерений на транспортную единицу (напрямую не изменять!)';CREATE INDEX ELDA.ART$LMANDANT_IX ON ELDA.ART$ (LMANDANT ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$SZARTNR1_IX ON ELDA.ART$ (UPPER(SZARTNR) ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$SZARTNR2_IX ON ELDA.ART$ (UPPER(SZARTNR) ASC, LMANDANT ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_ART_GROUP_ID_IX ON ELDA.ART$ (ART_GROUP_ID ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_DEFAULT_EI_IX ON ELDA.ART$ (DEFAULT_EI ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_FACTOR_TE_IX ON ELDA.ART$ (FACTOR_TE ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_FACTOR_VPE_IX ON ELDA.ART$ (FACTOR_VPE ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_KIT_IX ON ELDA.ART$ (KIT ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_PACK_EI_IX ON ELDA.ART$ (PACK_EI ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)
CREATE INDEX ELDA.ART$_VOLUME_EI_IX ON ELDA.ART$ (VOLUME_EI ASC) 
LOGGING 
TABLESPACE "ELDAINDEX" 
PCTFREE 10 
INITRANS 2 
MAXTRANS 255 
STORAGE 
( 
  INITIAL 65536 
  MINEXTENTS 1 
  MAXEXTENTS 2147483645 
  BUFFER_POOL DEFAULT 
)ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$LASL_UN UNIQUE 
(
  LASL 
)
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$MANDANT_SZARTNR_UN UNIQUE 
(
  SZARTNR 
, LMANDANT 
)
ENABLECOMMENT ON TABLE ELDA.ART$ IS 'Каталог артикулов'ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_DELETION_MARK_CK CHECK 
(DELETION_MARK IN ('Y', 'N'))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_FOIL_REQ_STICKERING_CK CHECK 
(FOIL_REQUIRE_STICKERING IN (0, 1))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_IS_SCAN_SERIAL_CK CHECK 
(IS_SCAN_SERIAL IN ('Y', 'N'))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_KIT_CK CHECK 
(KIT IN (-1, 0, 1))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_LOCALIZATION_NEEDED_CK CHECK 
(LOCALIZATION_NEEDED IN ('Y', 'N'))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_REQUIRE_FOILING_CK CHECK 
(REQUIRE_FOILING IN (0, 1))
ENABLE
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_REQUIRE_STICKERING_CK CHECK 
(REQUIRE_STICKERING IN (0, 1))
ENABLE

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение kpp » 2011-06-09 14:29:41

Что сказать...
В принципе можно придумать нечто, однако меня смущают такие моменты:

Код: Выделить всё

)CREATE INDEX ELDA.ART$LMANDANT_IX ON ELDA.ART$ (LMANDANT ASC)

Код: Выделить всё

)COMMENT ON COLUMN ELDA.ART$.ID IS 'ID';
по идее после первой скобки должен быть перевод строки
или вот:

Код: Выделить всё

COMMENT ON COLUMN ELDA.ART$.COUNT_EI_ON_TE IS '[art_prop] Количество единиц измерений на транспортную единицу (напрямую не изменять!)';ALTER TABLE ELDA.ART$
явно

Код: Выделить всё

ALTER TABLE ELDA.ART$
должно начинаться с новой строки
или еще круче:

Код: Выделить всё

)
ENABLECOMMENT ON TABLE ELDA.ART$ IS 'Каталог артикулов'ALTER TABLE ELDA.ART$
и

Код: Выделить всё

ENABLECREATE TABLE ELDA.ART$
Существут неоднозначность.
Я так понимаю нужно сверить структуру(метаданные) двух баз оракла?
Штатных средств нет?
Или Вы его неспроста обозвали
БД орокАла
:smile:
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-09 15:22:55

;-) нет тут опечатка просто оракл

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-09 15:24:24

да и я думаю можно пока закрыть вопрос спасибо всем

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение kpp » 2011-06-09 15:53:36

Если вдруг что.
Идея такая:

1. выкусываем из 1-го файла с помощью sed блок

Код: Выделить всё

от CREATE TABLE до [CREATE INDEX | ALTER TABLE | COMMENT ON | CREATE TABLE] 
от ALTER TABLE до [CREATE INDEX | ALTER TABLE | COMMENT ON | CREATE TABLE] 
от COMMENT ON до [CREATE INDEX | ALTER TABLE | COMMENT ON | CREATE TABLE] 
2. получаем уникальное обозначение блока, например

Код: Выделить всё

CREATE TABLE ELDA.ART$ 
CREATE INDEX ELDA.ART$LMANDANT_IX ON ELDA.ART$
COMMENT ON COLUMN ELDA.ART$.NAME_SHORT_EN IS
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_DEFAULT_EI_FK FOREIGN KEY
3. ищем во 2-м файле с помощью sed блок с этим уникальным обозначением
если не найдено - не соответствие
если найдено, вычитываем этот найденный блок

4. сверяем вычитанный блок из 1-го файла с соответствующим ему блок из 2-го файла.

Эти пункты выполняются в цикле.
Каждая итерация цикла - следущий блок из 1-го файла.
Если нужно, могу помочь реализовать.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-10 8:03:36

идея классная давай попробуем это больше похожа на правду

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-10 13:54:15

буду благодарен за реализацию :drinks:

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-10 17:10:14

смотри по последним данным от руководства было определено что выгрузку надо делать в током виде
первый сервер

Код: Выделить всё

VOLUME_CLIENT|WIDTH_PLACE|NUMBER|22|10|0|N|Ширина места, мм
VOLUME_CLIENT|DEPTH_PLACE|NUMBER|22|10|0|N|Глубина места, мм
VOLUME_CLIENT|TOTAL_PLACE|NUMBER|22|10|0|Y|Общее количество 
второй сервер

Код: Выделить всё

VOLUME_CLIENT|WIDTH_PLACE|NUMBER|33|10|0|N|Ширина места, мм
VOLUME_CLIENT|DEPTH_PLACE|NUMBER|22|10||Y|Глубина места, мм
VOLUME_CLIENT|TOTAL_PLACE|NUMBER|22|10|11|Y|Общее количество 
тут уже все разнесено по блокам тока надо найти разницу и вывести тока их :cz2:

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-10 17:19:52

отчет должен быть примерно таким
server 1 VOLUME_CLIENT|WIDTH_PLACE|NUMBER|33|10|0|N|Ширина места, мм
server2 VOLUME_CLIENT|WIDTH_PLACE|NUMBER|22|10|0|N|Ширина места, мм
ошибка в 4 блоке "server1 |33|" "server2 |22|"

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение kpp » 2011-06-13 14:54:08

2 ruslanstep1
Суть последних двух постов не понял совсем.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

ruslanstep1
мл. сержант
Сообщения: 92
Зарегистрирован: 2010-04-14 11:40:46

Re: как узнать имена файлов из двух директорий

Непрочитанное сообщение ruslanstep1 » 2011-06-14 7:36:42

kpp писал(а):Если вдруг что.
Идея такая:

1. выкусываем из 1-го файла с помощью sed блок

Код: Выделить всё

от CREATE TABLE до [CREATE INDEX | ALTER TABLE | COMMENT ON | CREATE TABLE] 
от ALTER TABLE до [CREATE INDEX | ALTER TABLE | COMMENT ON | CREATE TABLE] 
от COMMENT ON до [CREATE INDEX | ALTER TABLE | COMMENT ON | CREATE TABLE] 
2. получаем уникальное обозначение блока, например

Код: Выделить всё

CREATE TABLE ELDA.ART$ 
CREATE INDEX ELDA.ART$LMANDANT_IX ON ELDA.ART$
COMMENT ON COLUMN ELDA.ART$.NAME_SHORT_EN IS
ALTER TABLE ELDA.ART$
ADD CONSTRAINT ART$_DEFAULT_EI_FK FOREIGN KEY
3. ищем во 2-м файле с помощью sed блок с этим уникальным обозначением
если не найдено - не соответствие
если найдено, вычитываем этот найденный блок

4. сверяем вычитанный блок из 1-го файла с соответствующим ему блок из 2-го файла.

Эти пункты выполняются в цикле.
Каждая итерация цикла - следущий блок из 1-го файла.
Если нужно, могу помочь реализовать.
смотри тут ты хотел все по блокам распихать и сравнить а в моих двух последних постах выгрузка уже разделина по блокам остается тока найти разницу но я не знаю как :unknown: