У меня есть два документа .txt, и я хотел бы найти в одном из них ключи из файла secoond. Если ключи найдены, я хочу заменить совпадение текстом, который следует за ключом во втором файле. Кроме того, я хотел бы добавить "T" или "B" в зависимости от числа в файле.
Вот пример первого файла:
1 0010 SOMETEXT/NUMBERS SOME TEXT, TEXT
.2 0020 SOMETEXT/NUMBERS SOME TEXT, TEXT, TEXT
1 0020A SOMETEXT/NUMBERS SOME TEXT,TEXT
.1 2000 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT
..3 9123A SOMETEXT/NUMBERS SOME TEXT
... ... ... ...
Вот пример второго файла:
0010 ABCD EFG
0020 C01
0020A C02, C3, C004, C9901, C938, C12
2000 R123, R13, D34
9123A SOMETEXT
... ...
Из этих двух файлов я хотел бы использовать «ключи» из второго файла (в начале каждой новой строки). Таким образом, в этом примере ключи будут: 0010, 0020, 0020A, 2000, 9123A. После того, как у меня есть ключи, я хочу найти первый текстовый документ во втором столбце, чтобы увидеть, есть ли совпадение. Если есть совпадение (в этом случае все они совпадают), я хотел бы заменить текст в первом документе и создать новый документ с обновленным текстом. Кроме того, если после ключей во втором файле есть несколько значений, я хотел бы скопировать строки вниз. Посмотрите ниже, чтобы понять, что я имею в виду.
Новый документ будет выглядеть так:
1 ABCD EFG SOMETEXT/NUMBERS SOMETEXT, TEXT
.2 C01 SOMETEXT/NUMBERS SOME TEXT, TEXT, TEXT
1 C02 SOMETEXT/NUMBERS SOME TEXT,TEXT //--------------------
1 C3 SOMETEXT/NUMBERS SOME TEXT,TEXT // Copied the lines
1 C004 SOMETEXT/NUMBERS SOME TEXT,TEXT // down if there are
1 C9901 SOMETEXT/NUMBERS SOME TEXT,TEXT // multiple values in
1 C938 SOMETEXT/NUMBERS SOME TEXT,TEXT // document 2.
1 C12 SOMETEXT/NUMBERS SOMETEXT,TEXT //--------------------
.1 R123 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT //--------------
.1 R13 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT // COPIED ALSO
.1 D34 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT //--------------
..3 SOMETEXT SOMETEXT/NUMBERS SOME TEXT
... ... ... ...
Кроме того, если ключ (и) оканчивается буквой "A", я хотел бы добавить букву "T" в конец приведенной выше строки. Если ключи не заканчиваются буквой «A», я бы хотел добавить букву «B» в конец приведенной выше строки.
Пример нескольких строк:
.1 R123 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT B //key was 2000
.1 R13 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT B //key was 2000
.1 D34 SOMETEXT/NUMBERS SOME TEXT,TEXT, TEXT B //key was 2000
..3 SOMETEXT SOMETEXT/NUMBERS SOME TEXT T //key was 9123A
ПЕРВЫЙ ФАЙЛ
1 0010 142717 PCB, PCA-0320
1 0020 CAP-00010G CAP-C,1uF,10%,X7R,0603
1 0020A CAP-00010G CAP-C,1uF,10%,X7R,0603
1 0030A CAP-00127G CAP,4.7uF,10%,X5R,0805
1 0040A CAP-00126G CAP,12pF,10%,50V
1 0050A CAP-00131G CAP,1000pF,10%,100V
1 0060 134920 CAP-C,0.1uF,10%,10V,X7R
1 0060A 134920 CAP-C,0.1uF,10%,10V,X7R
1 0070 CAP-00129G CAP,0.01uF,10%,25V
1 0070A CAP-00129G CAP,0.01uF,10%,25V
1 0080 CAP-00128G CAP,15pF,10%,25V
1 0080A CAP-00128G CAP,15pF,10%,25V
1 0090A CAP-00132G CAP,0.47uF,10%,10V
1 0100 RES-00466G RES,2.7K,1%,1/16W
1 0110 RES-00464G RES,1.54K,1%,1/16W
1 0120 RES-00461G RES,2K,5%,1/16W
1 0130 RES-00460G RES,12.1K,1%,1/16W
1 0140 RES-00455G RES,330,5%,1/16W
1 0150A RES-00454G RES,51.1,1%,1/16W
1 0160 RES-00453G RES,47,1%,1/16W
1 0160A RES-00453G RES,47,1%,1/16W
1 0170 RES-00458G RES,0,1/16W,0402
1 0170A RES-00458G RES,0,1/16W,0402
1 0180 RES-00457G RES,15K,1%,1/16W
1 0190 RES-00456G RES,1K,1%,1/16W,0402
1 0200 RES-00463G RES,10K,1%,1/16W,0402
1 0200A RES-00463G RES,10K,1%,1/16W,0402
1 0210A RES-00462G RES,1.5M,5%,1/16W
1 0220 CAP-00133G CAP,100pF,5%,50V
1 0230 LED-00011G LED ARRAY,GY,.02A
1 0240 IC-00199G IC,MICRO ARM,NS7520
1 0250A IC-00198G IC,VOLT MONITOR RES
1 0270A IC-00134G IC,TRAN,RS232,3DX5R
1 0280A IC-00196G IC,TRANS,ICS1893BF
1 0290A ICP-01006G IC,PLD,NIM-PX-1
1 0300 IC-00194G IC,MEM,SDRAM,2MX32
1 0310A IC-00083G IC,LOGIC,2 INPUT
1 0320A IC-00193G IC,LOGIC,2 INPUT
1 0330 IC-00192G IC,VOLT REG,.150A@1.5V
1 0340A IND-00009G IND,120nH,100MHz,5%
1 0350A IND-00008G IND,25%,.37A,ESR=.3
1 0360A IND-00007G IND,120OHM@100MHz
1 0370A INT-00112G HDR,2X8,1.27mm,ST,1A
1 0380A INT-00113G HDR,2X4,1.27mm,ST,1A
1 0390A XTL-00011G CRYSTAL,18.432MHz
1 0400 XTL-00012G CRYSTAL,25.000MHz
1 0410A CON-00205G CONN,RJ45,SIDE ENTRY
1 0420A CON-00181G CONN,RJ45,RA,1.02mm
1 0422A ICP-01042G IC,FLASH,NIM-BLT
1 0423 122261 ADH, CYANOARYLATE
1 0424 70476 ADH,ACCELERANT
1 0425 143298 ADH, LOCTITE 3609
1 2000 98658-1 LBL,IUC,PCA,S/N
.2 0010 74320-27 LBL,IUI,1.0x.25
..3 9000 74320 DWG-A,SPEC,LBL,IUI
.2 9000 98658 DWG-A,FAB,LBL,IMP
.2 9010 SC12279-1 RIBBON-LBL,PRT,4.33,POLY
1 9000 143239 DWG-C,ASSY,ELEC
1 9010 143240 DWG-B,SCHEMATIC
1 9020 139045 TEST,ICT
1 9030 139046 TEST,FCT
1 9620 143241 CUSTOMER P/N
1 9630 98982-4A PCA REV: 4A
ВТОРОЙ ФАЙЛ
0010 BARE PCB
0020 C40
0020A C5, C45, C48
0030A C25
0040A C17, C18
0050A C15
0060 C20, C23,
0060A C6, C7, C8, C9, C10, C11, C12,C31, C32, C33, C34, C35, C36,C37, C38, C39
0070 C16, C21, C22, C24, C41, C42
0070A C3, C19, C43, C44, C47
0080 C13, C14
0080A C1, C2
0090A C26, C27, C28, C29, C30
0100 R65
0110 R35
0120 R34
0130 R33
0140 R21, R22, R29, R30
0150A R28, R31, R32, R37
0160 R17, R19, R26, R47, R50, R51,R53, R57, R58, R59
0160A R18, R25, R42, R48, R49, R52,R54, R55, R56, R60
0170 R23
0170A R10, R43
0180 R8, R9
0190 R13, R14, R15, R61, R62, R63,R64
0200 R27, R38, R39, R40, R41
0200A R2, R3, R11, R44, R45, R46
0210A R1
0220 C4
0230 D1
0240 U1
0250A U10
0270A U6
0280A U5
0290A U4
0300 U2
0310A U7
0320A U8
0330 U9
0340A L2, L3
0350A L8, L9
0360A L1, L4, L5, L6, L7, L10
0370A J1, J2
0380A J3
0390A X1
0400 X2
0410A J4
0420A J5
0422A U3
2000 TRACKING LABEL
0423 ADHESIVE
0424 ACCELERATOR
0425 ADHESIVE
3-й ФАЙЛ (НАДЕЖДА
1 BARE PCB 142717 PCB, PCA-0320 B
1 C40 CAP-00010G CAP-C,1uF,10%,X7R,0603 B
1 C5 CAP-00010G CAP-C,1uF,10%,X7R,0603 T
1 C45 CAP-00010G CAP-C,1uF,10%,X7R,0603 T
1 C48 CAP-00010G CAP-C,1uF,10%,X7R,0603 T
1 C25 CAP-00127G CAP,4.7uF,10%,X5R,0805 T
1 C17 CAP-00126G CAP,12pF,10%,50V T
1 C18 CAP-00126G CAP,12pF,10%,50V T
1 C15 CAP-00131G CAP,1000pF,10%,100V T
1 C20 134920 CAP-C,0.1uF,10%,10V,X7R B
1 C23 134920 CAP-C,0.1uF,10%,10V,X7R B
1 C6 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C7 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C8 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C9 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C10 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C11 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C12 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C31 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C32 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C33 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C34 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C35 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C36 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C37 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C38 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C39 134920 CAP-C,0.1uF,10%,10V,X7R T
1 C16 CAP-00129G CAP,0.01uF,10%,25V B
1 C21 CAP-00129G CAP,0.01uF,10%,25V B
1 C22 CAP-00129G CAP,0.01uF,10%,25V B
1 C24 CAP-00129G CAP,0.01uF,10%,25V B
1 C41 CAP-00129G CAP,0.01uF,10%,25V B
1 C42 CAP-00129G CAP,0.01uF,10%,25V B
1 C3 CAP-00129G CAP,0.01uF,10%,25V T
1 C19 CAP-00129G CAP,0.01uF,10%,25V T
1 C43 CAP-00129G CAP,0.01uF,10%,25V T
1 C44 CAP-00129G CAP,0.01uF,10%,25V T
1 C47 CAP-00129G CAP,0.01uF,10%,25V T
1 C13 CAP-00128G CAP,15pF,10%,25V B
1 C14 CAP-00128G CAP,15pF,10%,25V B
1 C1 CAP-00128G CAP,15pF,10%,25V T
1 C2 CAP-00128G CAP,15pF,10%,25V T
1 C26 CAP-00132G CAP,0.47uF,10%,10V T
1 C27 CAP-00132G CAP,0.47uF,10%,10V T
1 C28 CAP-00132G CAP,0.47uF,10%,10V T
1 C29 CAP-00132G CAP,0.47uF,10%,10V T
1 C30 CAP-00132G CAP,0.47uF,10%,10V T
1 R65 RES-00466G RES,2.7K,1%,1/16W B
1 R35 RES-00464G RES,1.54K,1%,1/16W B
1 R34 RES-00461G RES,2K,5%,1/16W B
1 R33 RES-00460G RES,12.1K,1%,1/16W B
1 R21 RES-00455G RES,330,5%,1/16W B
1 R22 RES-00455G RES,330,5%,1/16W B
1 R29 RES-00455G RES,330,5%,1/16W B
1 R30 RES-00455G RES,330,5%,1/16W B
1 R28 RES-00454G RES,51.1,1%,1/16W T
1 R31 RES-00454G RES,51.1,1%,1/16W T
1 R32 RES-00454G RES,51.1,1%,1/16W T
1 R37 RES-00454G RES,51.1,1%,1/16W T
1 R17 RES-00453G RES,47,1%,1/16W B
1 R19 RES-00453G RES,47,1%,1/16W B
1 R26 RES-00453G RES,47,1%,1/16W B
1 R47 RES-00453G RES,47,1%,1/16W B
1 R50 RES-00453G RES,47,1%,1/16W B
1 R51 RES-00453G RES,47,1%,1/16W B
1 R53 RES-00453G RES,47,1%,1/16W B
1 R57 RES-00453G RES,47,1%,1/16W B
1 R58 RES-00453G RES,47,1%,1/16W B
1 R59 RES-00453G RES,47,1%,1/16W B
1 R18 RES-00453G RES,47,1%,1/16W T
1 R25 RES-00453G RES,47,1%,1/16W T
1 R42 RES-00453G RES,47,1%,1/16W T
1 R48 RES-00453G RES,47,1%,1/16W T
1 R49 RES-00453G RES,47,1%,1/16W T
1 R52 RES-00453G RES,47,1%,1/16W T
1 R54 RES-00453G RES,47,1%,1/16W T
1 R55 RES-00453G RES,47,1%,1/16W T
1 R56 RES-00453G RES,47,1%,1/16W T
1 R60 RES-00453G RES,47,1%,1/16W T
1 R23 RES-00458G RES,0,1/16W,0402 B
1 R10 RES-00458G RES,0,1/16W,0402 T
1 R43 RES-00458G RES,0,1/16W,0402 T
1 R8 RES-00457G RES,15K,1%,1/16W B
1 R9 RES-00457G RES,15K,1%,1/16W B
1 R13 RES-00456G RES,1K,1%,1/16W,0402 B
1 R14 RES-00456G RES,1K,1%,1/16W,0402 B
1 R15 RES-00456G RES,1K,1%,1/16W,0402 B
1 R61 RES-00456G RES,1K,1%,1/16W,0402 B
1 R62 RES-00456G RES,1K,1%,1/16W,0402 B
1 R63 RES-00456G RES,1K,1%,1/16W,0402 B
1 R64 RES-00456G RES,1K,1%,1/16W,0402 B
1 R27 RES-00463G RES,10K,1%,1/16W,0402 B
1 R38 RES-00463G RES,10K,1%,1/16W,0402 B
1 R39 RES-00463G RES,10K,1%,1/16W,0402 B
1 R40 RES-00463G RES,10K,1%,1/16W,0402 B
1 R41 RES-00463G RES,10K,1%,1/16W,0402 B
1 R2 RES-00463G RES,10K,1%,1/16W,0402 T
1 R3 RES-00463G RES,10K,1%,1/16W,0402 T
1 R11 RES-00463G RES,10K,1%,1/16W,0402 T
1 R44 RES-00463G RES,10K,1%,1/16W,0402 T
1 R45 RES-00463G RES,10K,1%,1/16W,0402 T
1 R46 RES-00463G RES,10K,1%,1/16W,0402 T
1 R1 RES-00462G RES,1.5M,5%,1/16W T
1 C4 CAP-00133G CAP,100pF,5%,50V B
1 D1 LED-00011G LED ARRAY,GY,.02A B
1 U1 IC-00199G IC,MICRO ARM,NS7520 B
1 U10 IC-00198G IC,VOLT MONITOR RES T
1 U6 IC-00134G IC,TRAN,RS232,3DX5R T
1 U5 IC-00196G IC,TRANS,ICS1893BF T
1 U4 ICP-01006G IC,PLD,NIM-PX-1 T
1 U2 IC-00194G IC,MEM,SDRAM,2MX32 B
1 U7 IC-00083G IC,LOGIC,2 INPUT T
1 U8 IC-00193G IC,LOGIC,2 INPUT T
1 U9 IC-00192G IC,VOLT REG,.150A@1.5V B
1 L2 IND-00009G IND,120nH,100MHz,5% T
1 L3 IND-00009G IND,120nH,100MHz,5% T
1 L8 IND-00008G IND,25%,.37A,ESR=.3 T
1 L9 IND-00008G IND,25%,.37A,ESR=.3 T
1 L1 IND-00007G IND,120OHM@100MHz T
1 L4 IND-00007G IND,120OHM@100MHz T
1 L5 IND-00007G IND,120OHM@100MHz T
1 L6 IND-00007G IND,120OHM@100MHz T
1 L7 IND-00007G IND,120OHM@100MHz T
1 L10 IND-00007G IND,120OHM@100MHz T
1 J1 INT-00112G HDR,2X8,1.27mm,ST,1A T
1 J2 INT-00112G HDR,2X8,1.27mm,ST,1A T
1 J3 INT-00113G HDR,2X4,1.27mm,ST,1A T
1 X1 XTL-00011G CRYSTAL,18.432MHz T
1 X2 XTL-00012G CRYSTAL,25.000MHz B
1 J4 CON-00205G CONN,RJ45,SIDE ENTRY T
1 J5 CON-00181G CONN,RJ45,RA,1.02mm T
1 U3 ICP-01042G IC,FLASH,NIM-BLT T
1 ADHESIVE 122261 ADH, CYANOARYLATE B
1 ACCELERATOR 70476 ADH,ACCELERANT B
1 ADHESIVE 143298 ADH, LOCTITE 3609 B
1 TRACKING LABEL 98658-1 LBL,IUC,PCA,S/N B
.2 0010 74320-27 LBL,IUI,1.0x.25 B
..3 9000 74320 DWG-A,SPEC,LBL,IUI B
.2 9000 98658 DWG-A,FAB,LBL,IMP B
.2 9010 SC12279-1 RIBBON-LBL,PRT,4.33,POLY B
1 9000 143239 DWG-C,ASSY,ELEC B
1 9010 143240 DWG-B,SCHEMATIC B
1 9020 139045 TEST,ICT B
1 9030 139046 TEST,FCT B
1 9620 143241 CUSTOMER P/N B
1 9630 98982-4A PCA REV: 4A B
ВОПРОС ФОРМАТИРОВАНИЯ:
1 C10 134920CAP-C,0.1uF,10%,10V,X7R T
1 C11 134920CAP-C,0.1uF,10%,10V,X7R T
1 C12,C31 134920CAP-C,0.1uF,10%,10V,X7R T //THIS LINE SHOULD BE SPLIT INTO 2
1 C32 134920CAP-C,0.1uF,10%,10V,X7R T