командная строка awk - удалить строку

командная строка awk - удалить строку

согласно запросу, код размещения отдельный.

выходной ток

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

результат, которого я должен достичь

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

по сути, это добавление строки из входного файла и не удаление заголовка. у меня проблема с его удалением

  #!/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

решение1

Внутри скрипта оболочки $1относится к первому позиционному параметру (или аргументу), с которым вызывается скрипт — вы, вероятно, привыкли использовать его для передачи имени файла вОдноразовая программа awk Throwaway

ВнутриИсполняемая программа awkОднако аргументы командной строки обрабатываются внутренне через собственный ARGVмассив awk и $1являются первым полем текущей записи. За пределами блока кода это эквивалентно

$1 != "" {
    print
}

что, следовательно, выводит каждую строку ввода, содержащую хотя бы один несимвол FS.

Поэтому удалите лишнее $1.

Связанный контент