Eu tenho um arquivo de texto no servidor Linux CentOS 7 que inclui muitas entradas no seguinte formato:
1234567890123456, 1, 17, cde, Test Test
1234567890123456, 2, 17, cde, Test Test
1234567890123456, 3, 17, cde, Test Test
1234567890123456, 4, 17, cde, Test Test
1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test
1234567890123456, 1, 17, cde, Test Test
qual comando devo usar para remover
1, 17
2, 17
3, 17
4, 17
então o resultado deve ser
1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test
Responder1
estranhoabordagem:
awk -F, '!($2<5 && $3==17)' file
A saída:
1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test
-F,
- separador de campo$2
,$3
- representa o 2º e o 3º campo respectivamente
Responder2
Para excluir esses valores exatos, aproveitando o fato de que a exclusão do campo 3 é sempre '17':
awk -F, '!($3 == 17 && ($2 == 1 || $2 == 2 || $2 == 3 || $2 == 4))' < input > output