![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Exibindo linhas específicas em um arquivo. | MaestroRage | UNIX para Dummies Perguntas & Respostas | 3 | 02-05-2008 04:57 |
| Pesquisa Arquivo de palavras específicas | mevasquez | UNIX para Dummies Perguntas & Respostas | 2 | 12-04-2007 04:31 |
| como remover linhas específicas de um arquivo | bluemoon1 | Programação Shell Script e | 17 | 10-07-2007 10:40 |
| Como você linhas específicas de um arquivo? | hedgehog001 | UNIX para Dummies Perguntas & Respostas | 2 | 08-23-2005 12:04 |
| extrair linhas específicas de arquivo | apalex | UNIX para Dummies Perguntas & Respostas | 2 | 05-15-2001 09:57 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Ignorar algumas linhas com palavras específicas de arquivo comparação
Oi tudo,
Preciso de ajuda para fazer esse cenário. Tenho dois arquivos com múltiplas linhas. Eu quero comparar esses dois arquivos, mas ignorando as linhas que tenham palavras como Tran, Loc, Addr, Charge. Também se eu tiver uma palavra na linha de crédito, quero tokenize (ou seja, após a seqüência de caracteres "[") que a linha e comparar uma substring dele. Arquivo parece Record 1 Tran 1050e1f @ [ airbillNbr \u003d 1324576 origLocInfo \u003d Loc @ 1c29ab2 [ locId \u003d 923 estado \u003d FL locCntry \u003d E.U. postais \u003d 32817 locNbr \u003d 456 locCurr \u003d CAD lglEntity \u003d E ] Loc @ destLocInfo \u003d 337838 [ locId \u003d 298 estado \u003d FL locCntry \u003d E.U. postais \u003d 32845 locNbr \u003d 456 locCurr \u003d CAD lglEntity \u003d E ] shpDt \u003d ter. jan 08 00:00:00 EST 2008 shprAddrInfo \u003d @ 18558d2 Addr [ acctNbr \u003d 123456789 name \u003d Peyton Manning empresa \u003d Giants Endereço1 \u003d Esportes Nação Endereço2 \u003d Cidade \u003d Nova Iorque estado \u003d NY country \u003d E.U. postais \u003d 76543 ] Charge 19c26f5 @ [ Código \u003d 305 Crédito crdtCard \u003d @ 15eb0a [creditCardTypeCode \u003d M, creditCardExpDate \u003d sábado fev 28 00:00:00 EST 2009] Qualquer ajuda é apreciada. Obrigado, Jak |
|
||||
|
Você pode usar o 'grep-v palavra "ou" nawk' $ 0! ~ / Palavra / 'para filtrar arquivos, redirecionamento de saída arquivos em outra, e depois de completar filtragem, comparar arquivos.
Essa é a palavra Tran e fl1 arquivo que você usa comandos: grep-v Tran fl1> fltr_fl ou nawk '$ 0! ~ / Tran /' fl1> fltr_fl Para "tokenize" Gostaria de usar o nawk-F [ '(if ($ 0 ~ "Crédito") (sub ($ 1 ,"",$ 0);)) print "fl1 (deve ser o primeiro remuwed else' [ 'depois que, talvez alguém vai ajudar em que) Gostaria de colocar comandos no script de filtragem e na final do que correr o diff filtrada em arquivos. Também a filtragem de linhas com o mundo gostaria de fazer em: para wrd em todas as palavras ... ...; fazer .. feito Portanto, seria desta maneira: Código:
words="Tran Loc Addr Charge"
for wrd im $words ; do
nawk -v chk=#wrd '$0 !~ chk' in_fl >tmp;
cp tmp in_fl;
done
|
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|