Devido ao reordenamento dos campos, você não poderá fazer isso com grep
, mas sed
fará o trabalho.
Dado que você já tem uma compreensão razoável das expressões regulares, deve achar fácil marcar os campos de origem e reorganizá-los na substituição, embora sed
não reconheça \d
para corresponder a um dígito.
A seguinte correspondência simplificada funciona nos seus dados de teste:
sed -En 's/^(.*) sdc-.*\[.*\].*\[(.*), (.*)\]/ , /p' test.txt
Os campos (
e )
delimitam, com \N
(onde N
é 1
to 9
) denotando campos na string de substituição.
Este é uma boa introdução ao sed
.