Eu tenho um arquivo com este conteúdo:
xyz[0]
xyz[1]
xyz[2]
xyz[3]
abc[0]
abc[1]
abc[2]
Cada valor é separado por uma nova linha. Quero separá-los em dois arquivos diferentes com base no fato de o número entre colchetes ser par ou ímpar.
Responder1
Usando o Awk, divida em caracteres [
e ]
depois divida o módulo do segundo campo:
$ awk -F'[][]' '{f = $2%2 ? "odd" : "even"; print > f}' file
$ head odd even
==> odd <==
xyz[1]
xyz[3]
abc[1]
==> even <==
xyz[0]
xyz[2]
abc[0]
abc[2]