Obtendo dados de linha da coluna correspondente no arquivo CSV em Perl?

1

Não consigo anexar o arquivo CSV, por isso, anexei as imagens para que o conteúdo seja claro. Eu usei awk e perl one liners, mas isso não está dando nenhuma saída. Por favor me ajude saber, como posso obter as linhas com o número da coluna correspondente e texto / valor da coluna.

isso pode ser escrito em forma de script do que de comando.

$ perl -F, -lane 'print if $F[8]==WINDOWS2000-2' Compare_20180715191103.csv

e

$ awk -F, -v OFS=, '$8 == "WINDOWS2000-2 "{ print }' Compare_20180715191103.csv

    
por Dipit Sethi 24.07.2018 / 16:03

2 respostas

1

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:

  1. "==" 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.
  2. seqüências de caracteres constantes precisam ser citadas, elas são tratadas como sub-rotinas.
  3. Como os índices da matriz Perl começam do zero, o $F[8] , na verdade, refere-se ao elemento ninth 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.
por 24.07.2018 / 20:59
0

Etapa 1: Primeiro verifique o que há na oitava coluna,

awk -F, '{print $8}' URT_Compare_20180715191103.csv

Etapa 2: Então grep o padrão desejado.

awk -F, '{print $8}' URT_Compare_20180715191103.csv | grep "WINDOWS2000-2"

Etapa 3: Se você obtiver o resultado desejado no passo 2, tente o código abaixo.

awk -F,  '$8 ~ "WINDOWS2000-2" ' URT_Compare_20180715191103.csv
    
por 24.07.2018 / 16:30

Tags