![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| törölni két szokásokat, és távolítsa el egy mintát | ppat7046 | Shell programozás és Scripting | 7 | 04-08-2009 10:19 AM |
| Töröl között két minta nélkül törli a második minta | Ilja | Shell programozás és Scripting | 1 | 11-14-2008 09:53 AM |
| Minden Grep között 2 különböző minták | gurpreet470 | Shell programozás és Scripting | 2 | 11-07-2008 04:45 PM |
| Ismerkedés a sorok közötti előfordulás utolsó két minták | gyülekezőhely | Shell programozás és Scripting | 8 | 08-08-2008 06:32 PM |
| Megközelíthetőség sorok között mintázottsága? | racbern | Shell programozás és Scripting | 11 | 04-23-2008 08:28 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
törölni között minták
Szia, én is keresett ezen a fórumon egész nap, de nem volt képes megtalálni elég kódok, hogy segítsen nekem ezt a feladatot. Az egyetlen kód, amit fel tud jönni az a következő:
sed "/ [0-9] [0-9] / / [0-9] [0-9] / (/ / p; d;) bemeneti_fájl> OUTPUTFILE Szeretném sed/awk / grep egy fájl két szokásokat, majd törölje a sorok között alakultak. Lásd a bemeneti_fájl alább. Ez csak egy kis része egy hosszú fájlt. Mindent vastag kell hagyni. Ebben az esetben azt szeretném, hogy keressük meg az első mintát [0 0 2], és az utolsó minta [2433 2433 2], majd törölje között ezeket a mintákat, hanem hogy a vonal [ANT_2] felett a vonal [2433 2433 2] . Azt szeretném, hogy keressük meg az első mintát [0 0 4], és az utolsó minta [1 1 2], majd törölje között ezeket a mintákat, hanem hogy a vonal [ANT_6] felett a vonal [1 1 2]. A sorok száma közötti pattens is változhat. Az egyetlen dolog, hogy én is látom, hogy nem változik a [0 0]. Minden segítséget vagy javaslata lenne nagyon méltányol. bemeneti_fájl -------- ANT_1 0 0 2 január 14 10:11:44 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ ply a kapu terület arány> 500 ANT_2 2433 2433 2 január 14 10:13:46 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ mt1 a kapu terület arány> 40 1 44 p -2109300 -10645700 -2095600 -10645700 -2095600 -10649700 -2088500 -10649700 -2088500 -10655700 -2071900 -10655700 ANT_3 0 0 2 január 14 10:13:59 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ MT2 diff kapu bemenet. ANT_4 0 0 2 január 14 10:14:01 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ arany diff kapu bemenet. ANT_5 0 0 4 január 14 10:14:01 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ arany diff kapu bemenet. ANT_6 1 1 2 Jan 14 10:14:01 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ arany diff kapu bemenet. NET_AREA_RATIO_RDBS 0 0 3 január 14 10:14:01 2009 ANT2.OUT ANT3.OUT ANT4.OUT Kívánt OUTPUTFILE ---------------- ANT_2 2433 2433 2 január 14 10:13:46 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ mt1 a kapu terület arány> 40 1 44 p -2109300 -10645700 -2095600 -10645700 -2095600 -10649700 -2088500 -10649700 -2088500 -10655700 -2071900 -10655700 ANT_6 1 1 2 Jan 14 10:14:01 2009 Szabályzat fájl elérési útvonala: / home / la / _drc_ arany diff kapu bemenet. |
|
||||
|
Ghostdog, Im nem biztos, ha a több Unix / Linux fórum azért van, mert én nem találtam meg ezen a fórumon listán. Voltam képes-hoz kap egy kódot ezen a fórumon, és alkalmazni azt, amit csinálok. Ez nem pontos, de ez közel. kód ----- Kód:
#!/bin/bash
function drcext
{
# Extract one line above and two lines below a pattern
awk '/[1-9] [1-9] /{ before-=1;after=2; next }
after { after--;next }
{ store[++before]=$0}
END {
for(i=1;i<=before;i++) {
print store[i]
}
}' b > c
diff b c > d
sed -i 's/[0-9]*,[0-9]*[a-z]*[0-9]*/----------------------------------------------------------------/g' d
sed -i 's/< //g' d
# Add a variable content to the beginning of the file
rulepath=`grep Rule d`
sed -i '/Rule/d' d
sed "1i $rulepath" < d > e
}
drcext
Ez az input file: bemeneti_fájl b --------- Kód:
die1 1000 WARN_1 0 0 2 May 4 16:20:21 2009 Rule File Pathname: /coms Rule File Pathname: /home/la/_tij4_drc_ TEOS_CH minimum spacing to VIA_1 is 10.0u, must not overlap 23_K 1 1 2 May 4 16:24:00 2009 Rule File Pathname: /home/la/_tij4_drc_ TEOS_CH must be enclosed by Metal_3 10um min p 1 4 CN tmplt c 1 0 0 1 0 0 -1512633 -8706882 -1507100 -8715212 -1507100 -8668836 -1512633 -8677166 Rule File Pathname: /home/la/_tij4_drc_ SU8_chm to Bond Pad min space is 10 um 45_D2 20 20 2 May 4 16:30:03 2009 Rule File Pathname: /home/la/_tij4_drc_ SU8_chm to Bond Pad at the end of a row min space is 100 um e 1 2 CN die1 c 1 0 0 1 0 0 -1366000 -9000000 -1366000 -8991408 -1461658 -9029146 -1457396 -9031988 e 2 2 -1366000 -9000000 -1366000 -8981773 -1457396 -9031988 -1450898 -9034615 e 3 2 -1366000 -8804227 -1366000 -8800000 Rule File Pathname: /home/la/_tij4_drc_ Primer must be enclosed by SU8_prm AT_1 2 2 2 May 4 16:30:20 2009 Rule File Pathname: /home/la/_tij4_drc_ target must be covered by (drawn) dso p 1 36 CN target_bondalign c 1 0 0 1 -1676600 7170000 -24000 0 -23635 -4168 Rule File Pathname: /home/la/_tij4_drc_ SU8_prm must overlap dso over gld_tgt by 3um min AT_5 2 2 2 May 4 16:30:20 2009 Rule File Pathname: /home/la/_tij4_drc_ SU8_prm/chm/nzl not allowed over gld_tgt p 1 36 CN target_bondalign c 1 0 0 1 -1676600 7170000 -24000 0 -23635 -4168 -22553 -8208 -20785 -12000 -18385 -15427 Rule File Pathname: /home/la/_tij4_drc_ contact not allowed in stitch zone su8_14_26A 55 55 2 May 4 16:30:30 2009 Rule File Pathname: /home/la/_tij4_drc_ NOZZLE minimum width is 10um (for 14um thick material) p 1 114 CN resistor_array c 1 0 0 1 0 0 -1052100 -7525307 -1052067 -7525796 -1052066 -7525803 -1051974 -7526268 Ez a kimeneti fájl: OUTPUTFILE e ----------- Kód:
Rule File Pathname: /home/la/_tij4_drc_ ---------------------------------------------------------------- 23_K 1 1 2 May 4 16:24:00 2009 TEOS_CH must be enclosed by Metal_3 10um min ---------------------------------------------------------------- AT_1 2 2 2 May 4 16:30:20 2009 target must be covered by (drawn) dso ---------------------------------------------------------------- AT_5 2 2 2 May 4 16:30:20 2009 SU8_prm/chm/nzl not allowed over gld_tgt ---------------------------------------------------------------- su8_14_26A 55 55 2 May 4 16:30:30 2009 NOZZLE minimum width is 10um (for 14um thick material) Nem tudom, miért awk parancs törli a sorok, amelyek megállapították a keresési mintát [1-9] [1-9]. Az eredetileg a küldő ezt a kódot a ki az egyik vonal fölött és alatt két sorban a minta [1-9] [1-9]. Ezt a kódot hátra. Ez törli kivonat helyett ez miért van, hogy a változtatások, hogy a tételek, amelyeket törölni. Please let me know, hogyan recode hogy kivonat helyett törölni. Van még egy probléma, ezt a kódot, hogy ne értem, hogy használja a minta [1-9] [1-9], így nem kell kivonásánál sor: 55 55 2 május 4 16:30:30 2009 De ez az, amit én akartam. Azt is szeretné, hogy a sor: 20 20 2 május 4 16:30:03 2009 De nem kap ki. Hogyan tudom megváltoztatni a minta / [1-9] [1-9] /, úgy, hogy talál egy karakterlánc, azaz 55 55 2 20 20 2? Megpróbáltam egy másik típus / [1-9] * [1-9] * / vagy valami, hogy a vonal mentén, de ez nem működik. Elnézést a hosszú, de kérésre bármilyen tanácsot lenne nagyon méltányol. Ez a kód: Last edited by vgersh99; 05/28/2009 at 04:01 PM.. Ok: hozzá a kódot tags |
| Odaítélt bit / terhelniük shamushamu ezt Post | |||
| Dátum | Felhasználó | Hozzászólás | Összeg |
| 05-28-2009 | vgersh99 | N / A | 0 |
|
||||
|
Sajnálom, hogy vgersh99. Én vagyok az új, Linux és ezen a fórumon. Most találtam, és javítani a kód. Megváltoztattam a mintát, hogy: Kód:
awk '/^[1-9]/{ before-=1;after=2; next }
De én még mindig nagyon érdekelt, hogy ha bárkinek van egy jobb megoldás, mint ez. Azt hiszem, ez lehet igénybe a néhány sort. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|