![]() |
|
|
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 |
| egrep sintaxe pergunta | DKNUCKLES | Programação Shell Script e | 1 | 11-18-2007 04:46 |
| Simples Awk Pergunta: Se Sintaxe | natdeamer | Programação Shell Script e | 1 | 09-10-2007 01:53 |
| ainda um outro campo awk sintaxe pergunta | prkfriryce | Programação Shell Script e | 4 | 03-22-2007 01:13 |
| C-shell: variável sintaxe pergunta | alex_5161 | Sun Solaris | 0 | 01-30-2007 02:43 |
| Pergunta: não-recursivo encontrar sintaxe | alexkav | UNIX para Dummies Perguntas & Respostas | 6 | 03-10-2005 07:46 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
awk sintaxe pergunta
Oi lá alguém poderia explicar o que está acontecendo na seguinte função / declaração para mim, melhorar um pouco confuso
code \u003d 'BEGIN (FS \u003d","} ( printf ( "%-11s,% s% s% s,% 07.2f,% 14s,%-3s \ n", $ 1, substr ($ 2,9,2), substr ($ 2,6,2), substr ( $ 2,3,2), $ 9, $ 10, $ 12) ) esta função é chamada mais tarde no script usando o awk "$ code" qualquer orientação seria muito apreciada felicidades |
|
|||||
|
code \u003d 'BEGIN (FS \u003d","}
( printf ( "%-11s,% s% s% s,% 07.2f,% 14s,%-3s \ n", $ 1, substr ($ 2,9,2), substr ($ 2,6,2), substr ( $ 2,3,2), $ 9, $ 10, $ 12) ) Certo, em primeiro lugar, o Campo separador está definido para "," o que significa que o código está esperando um ficheiro CSV (valores separados por vírgula). Em seguida, os dados de cada registo é outputted, formatado por printf. Você pode ver que cada formatação de caracteres é precedida por um símbolo%. %-11s significa imprimir uma seqüência esquerda justifica em um caráter amplo campo 11. O% s% s% s significa imprimir três cordas. % 07.2f significa um amplo campo de 7 dígitos duas casas decimais (número de ponto flutuante). Significa 14% 14s char amplo direito justifica-campo, etc O \ n é um newline. Em seguida, todos os diversos campos são substituídos no lugar do% s, etc Um simples exemplo, printf ( "% s-% s \ n", $ 1, $ 2) provocaria o primeiro campo, um hífen e, em seguida, o segundo campo de saída a ser seguido por um newline. substr (string, start, numchars) - por exemplo, substr ($ 2,9,2), isto vai retornar 2 caracteres a partir do 9. personagem do segundo campo do registro. Se você tem o manual página no seu sistema (awk homem, mas o homem é melhor ficar de boca aberta), ele provavelmente vai explicar que muito mais clara do que eu tenho! Você provavelmente deve ver isto http://www.gnu.org/software/gawk/manual/gawk.html Se você estiver usando GNU awk. Felicidades ZB |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|