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プログラム

内部に一つ実行可能なawkプログラムただし、コマンドライン引数はARGVawk 独自の配列を通じて内部的に処理され、$1現在のレコードの最初のフィールドです。コードブロックの外側では次のようになります。

$1 != "" {
    print
}

したがってFS、1つ以上の文字を含むすべての入力行を出力します。

だから余分な部分を取り除いてください$1

おすすめ記事