Subfuncções TRIM para AWK
function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
Exemplo:
function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
BEGIN{OFS=";"}
{
print substr($0,466,32), substr($0,17,3), substr($0,191,3), substr($0,194,2), substr($0,187,2), substr($0,189,2), trim(substr($0,48,10)), substr($0,455,11), substr($0,177,5), substr($0,182,5), trim(substr($0,58,20)), trim(substr($0,98,32)), substr($0,500,3);
}
quinta-feira, 27 de novembro de 2014
domingo, 23 de novembro de 2014
Nohup + For
Como o comando nohup espera apenas um comando, para usar um nohup com um processamento mais 'complexo', deve-se usar o comando sh/bash (shell) com a opção -c, seguido pelo comando 'complexo'. Veja a sintaxe:
nohup sh/bash -c 'comando1; comando2; comandoN' &
Exemplo:
nohup sh -c 'for i in $(find . -type d); do for j in $(find $i/*.gz -type f); do gzip -dc $j | ./exec_script_001.pl; done; done > log/exec_script_001.pl.log' &
Outra maneira de contornar o problema é transformar sua série de comandos em um script e chamar apenas o script com nohup.
nohup sh/bash -c 'comando1; comando2; comandoN' &
Exemplo:
nohup sh -c 'for i in $(find . -type d); do for j in $(find $i/*.gz -type f); do gzip -dc $j | ./exec_script_001.pl; done; done > log/exec_script_001.pl.log' &
Outra maneira de contornar o problema é transformar sua série de comandos em um script e chamar apenas o script com nohup.
Assinar:
Comentários (Atom)