Você precisa fazer isso:
perl -F, -lane 'print if $F[7] eq "NAB-ITSA-LINUX-7"' URT_Compare_20180715191103.csv
Depois de cuidar das três coisas mencionadas abaixo, você deve estar bem:
- "==" o operador é para testar a igualdade matemática de seus operandos. Para comparação de string, como no seu caso,
eq
é o que você precisa. - seqüências de caracteres constantes precisam ser citadas, elas são tratadas como sub-rotinas.
- Como os índices da matriz Perl começam do zero, o
$F[8]
, na verdade, refere-se ao elementoninth
da matriz@F
.
As suposições subjacentes são:
- O oitavo campo é uma comparação de todo o campo e não parcial. Significado, o conteúdo tem que ser exatamente como você mostra aqui, não um personagem errado.
- Não há campos que contenham vírgulas, pois isso dividiria o meio-campo e a contagem de campo seria lançada.
- Não que isso importe aqui, mas apenas que você está ciente de que os finais de linha devem ser idealmente finais de linha Unix (
LF = \n
). Se não estiverem, você deve convertê-los primeiro.