awk abordagem:
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 campos -
$2
,$3
- representa o segundo e o terceiro campo, respectivamente
Eu tenho um arquivo de texto no servidor Linux CentOS 7, que inclui várias 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
para que o resultado seja
1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test
awk abordagem:
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 campos
$2
, $3
- representa o segundo e o terceiro campo, respectivamente
Para excluir esses valores exatos, aproveitando a comunalidade de que a exclusão do campo 3 é sempre '17':
awk -F, '!($3 == 17 && ($2 == 1 || $2 == 2 || $2 == 3 || $2 == 4))' < input > output