![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Visar specifika rader i en fil. | MaestroRage | UNIX for Dummies Frågor & Svar | 3 | 02-05-2008 04:57 |
| Sök Arkiv specifika ord | mevasquez | UNIX for Dummies Frågor & Svar | 2 | 12-04-2007 04:31 |
| hur man kan ta bort vissa rader från en fil | bluemoon1 | Shell-programmering och Skript | 17 | 10-07-2007 11:40 |
| Hur du specifika rader i en fil? | hedgehog001 | UNIX for Dummies Frågor & Svar | 2 | 08-23-2005 01:04 |
| extrahera specifika rader från fil | apalex | UNIX for Dummies Frågor & Svar | 2 | 05-15-2001 10:57 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Ignorera vissa linjer med specifika ord från Filjämförelse
Hej alla,
Jag behöver hjälp med detta scenario. Jag har två filer med flera rader. Jag vill jämföra dessa två filer, men ignorera de linjer som har ord som Tran, Loc, Addr, Charge. Även om jag har ett ord Kredit i rad, jag vill tokenize (dvs. sträng efter tecknet "[") den linjen och jämföra en del av den. Filen ser ut Record 1 Tran @ 1050e1f [ airbillNbr \u003d 1324576 origLocInfo \u003d Loc @ 1c29ab2 [ locId \u003d 923 state \u003d FL locCntry \u003d US postal \u003d 32.817 locNbr \u003d 456 locCurr \u003d CAD lglEntity \u003d E ] destLocInfo \u003d Loc @ 337.838 [ locId \u003d 298 state \u003d FL locCntry \u003d US postal \u003d 32.845 locNbr \u003d 456 locCurr \u003d CAD lglEntity \u003d E ] shpDt \u003d Tue Jan 08 00:00:00 EST 2008 shprAddrInfo \u003d Addr @ 18558d2 [ acctNbr \u003d 123456789 name \u003d Peyton Manning Företaget \u003d Giants Adress1 \u003d Sports Nation Adress2 \u003d City \u003d New York state \u003d NY country \u003d USA postal \u003d 76.543 ] Charge @ 19c26f5 [ kod \u003d 305 crdtCard \u003d Credit @ 15eb0a [creditCardTypeCode \u003d M, creditCardExpDate \u003d Sat Feb 28 00:00:00 EST 2009] All hjälp uppskattas. Tack, Jak |
|
||||
|
Du kan använda "grep-v ordet" eller "nawk '$ 0! ~ / Ord /" för att filtrera filer, styra produktionen i ett annat objekt, och efter fullständig filtrering, jämföra filer. Det är för ord Tran och fil FL1 du skulle använda comands: grep-v Tran FL1> fltr_fl eller nawk '$ 0! ~ / Tran /' FL1> fltr_fl För "tokenize" Jag skulle använda nawk-F [ '(if ($ 0 ~ "Credit") (sub ($ 1 ,"",$ 0);)) print "FL1 (bör remuwed annat först" [ "efter att, kanske någon annan kommer att hjälpa på det) Jag skulle sätta filtrering kommandon i skriptet och på slutet av den kör diff filtrerad filer. Även filtrera rader med världar jag vill göra: för WRD i ... ... alla ord; do .. gjord Så skulle det vara så här: Kod:
words="Tran Loc Addr Charge"
for wrd im $words ; do
nawk -v chk=#wrd '$0 !~ chk' in_fl >tmp;
cp tmp in_fl;
done
|