linha de comando awk - remover linha

linha de comando awk - remover linha

conforme código de postagem da solicitação separado.

saída atual

Name,Final Grade,Section
Andrew is an online student
Andrew,95,online
Brandon is an online student
Brandon,100,online
Chelsey is an onsite student
Chelsey,100,onsite
Deborah is an online student
Deborah,72,online
Erik is an online student
Erik,65,online
Arielle is an onsite student
Arielle,88,onsite
Shaun is an onsite student
Shaun,91,onsite
Ninette is an online student
Ninette,82,online
Nguyen is an onsite student
Nguyen,80,onsite

saída que devo alcançar

Andrew is an online student
Brandon is an online student
Chelsey is an onsite student
Deborah is an online student
Erik is an online student
Arielle is an onsite student
Shaun is an onsite student
Ninette is an online student
Nguyen is an onsite student

basicamente, está adicionando a linha do arquivo de entrada e não removendo o cabeçalho. meu problema é removê-lo

  #!/usr/bin/awk -f
    ##comment create awk script that will output the given data in the format given in word document
    ##comment specify the delimiter as ","
    BEGIN { FS = "," }
    
    /./ {
    ##comment check if the third field is online, if print online
    if ($3 == "online")
    printf("%s is an online student\n", $1)
    
    ##commentcheck if the third field is onsite, if print onsite
    if ($3 == "onsite")
    printf("%s is an onsite student\n", $1)
    } $1

Responder1

Dentro de um script de shell,$1 refere-se ao primeiro parâmetro posicional (ou argumento) com o qual o script é chamado - você provavelmente está acostumado a usar isso para passar um nome de arquivo para umPrograma One-Shot Throwaway awk

Dentro de umPrograma executável awkentretanto, os argumentos da linha de comando são tratados internamente através do próprio ARGVarray do awk e $1é o primeiro campo do registro atual. Fora de um bloco de código é equivalente a

$1 != "" {
    print
}

que está, portanto, exibindo cada linha de entrada que contém pelo menos um não- FScaractere.

Portanto, remova o supérfluo $1.

informação relacionada