![]() |
|
|
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 |
| Passando os valores para o secundário script quando invocadas pelos primário script | venu_eie | UNIX & avançada para usuários experientes | 2 | 07-03-2008 08:10 |
| Passando os valores para o secundário script quando invocadas pelos primário script | venu_eie | Programação Shell Script e | 1 | 07-03-2008 07:16 |
| criar um shell script que chama outro script e um script awk | magikminox | Programação Shell Script e | 0 | 06-26-2008 03:50 |
| me ajudar no envio de parâmetros sqlplus script para unix shell script | Hara | Programação Shell Script e | 2 | 01-29-2008 03:31 |
| Shell Script: deseja inserir valores no banco de dados quando a atualização é script é executado | anel | Programação Shell Script e | 1 | 10-25-2007 04:06 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
como corrigir este script awk?
Eu tenho um arquivo de log enquanto olha como este
+ + user_a blabla nas_b blabla blabla user_d este é um user_a junk linha junk outra linha user_c nas_m blabla + + basicamente a maioria das linhas contêm um "usuário" palavras-chave, eo resto das linhas não tem "usuário" em tudo. Então eu tenho o seguinte script, que apenas extrai o usuário parte (se essa linha tem um usuário palavra-chave) de cada linha awk '(for (i \u003d 0; i <\u003d NF; i + +) if ($ i ~ / user /) a \u003d $ (i) diferente (continua) (print a) ) '/ Tmp / teste e quando eu executá-lo, eu tenho o seguinte resultado user_a user_d user_a user_a #<\u003d\u003d\u003d realmente não existe um usuário na mesma linha de todo. user_c por que isso acontece e como posso corrigir o meu script? obrigado |
|
||||
|
Eu reliazed esse problema, mas parece que não posso resolver o problema, aqui está o script modificado
awk '(for (i \u003d 0; i <\u003d NF; i + +) if ($ i ~ / user /) a \u003d $ (i) diferente \u003d (um "não") (Continua) (print a) ) '/ Tmp / teste e mudar a saída para não user_d user_a não não o que não é correcta em todos. Citação:
|
|
||||
|
Obrigado, eu sei, neste exemplo que dei, egrep é uma escolha melhor, mas realmente o meu trabalho real é "descobrir tanto" usuário "e" nas "parte e, em seguida, imprima o resultado. a seguir é o resultado eu quero + user_a nas_b user_d nas_b user_a user_c nas_m + Mas o problema é que, não importa o quanto eu modificado meu script, eu só não terá o resultado desejado ... [QUOTE \u003d Radoulov; 302286540] Com awk: Código:
awk '{
for (i=1; i<=NF; i++)
if ($i ~ /user/)
print $i
}' infile
Com Perl: |
|
|||||
|
Citação:
Por que user_d nas_b? |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|