このエラーメッセージはどういう意味ですか? awk:行1:行方不明)近く} [閉じる]

このエラーメッセージはどういう意味ですか? awk:行1:行方不明)近く} [閉じる]

私のコードは

awk '{if (substr($0,81,1)=="1") print substr($0,1,79)"1"; else  print $0 }' data > collect_irsc_corrected 
awk NF data | awk '{if (substr($0,80,1) == "1") data=substr($0,1,10); if(substr($0,80,1)==""&& substr($0,2,2) != " ") print substr($0,1,15),substr($0,19,10}' > data_irscstation

コードの2行目のエラーメッセージはどういう意味ですか?awk: line 1: missing ) near }


編集:以下は、明確な形式のエラーメッセージを生成する上記のスクリプトですgawk -o-

awk '
    {
        if (substr($0, 80, 1) == "1") {
            data = substr($0, 1, 10)
        }
        if (substr($0, 80, 1) == "" && substr($0, 2, 2) != " ") {
            print substr($0, 1, 15), substr($0, 19, 10
        }
    }
'

以下は、このコードを実行しようとしたときにgawkが生成するエラーメッセージです。

awk: cmd. line:8:    print substr($0, 1, 15), substr($0, 19, 10
awk: cmd. line:8:                                              ^ unexpected newline or end of string

すべてのコードを1行にまとめるよりもデバッグする方がはるかに簡単だと思います。

ベストアンサー1

awkエラーメッセージが示すように、関数呼び出しの最後のスクリプトの最後に閉じている括弧を忘れていましたsubstr($0,19,10)

おすすめ記事