Um comando awk que lê o arquivo e o renomeia:
awk -F '[:)]' '/ProcID/{printf "echo mv %s %s.txt\n", FILENAME, | "/bin/sh"; nextfile}' O*.TXT
Como a linha ProcID é, na verdade:
JOB 04508907 (ProcID:0000019324) START AT 22.12.2016 / 09:10:45
Para extrair o I, P, precisamos dividir em : e ) , o que nos dará 0000019324 como o segundo campo.
Remova echo para realmente executar o movimento. Use isto somente se os nomes dos arquivos e ProcID não contiverem espaços ou caracteres especiais.
Esse comando obtém o ProcID dividindo em : para obter o segundo campo e, em seguida, usa-o e a variável especial FILENAME para construir o comando. A documentação do GNU awk sugere o método printf ... | "/bin/sh" . Então nós pulamos para o próximo arquivo.