入力ファイルにはカンマで区切られた税インボイスのエントリを含む.csv形式の入力ファイルがあります。例えばawk - 大文字と小文字と空白の両方の文字を含む文字列に一致します
:
Header--TIN | NAME | INV NO | DATE | NET | TAX | OTHERS | TOTAL
Record1-290| A S Spares | AB012 | 23/07/2016 | 5600 | 200 | 10 | 5810
Record2-29450956221 | HONDA Spare Parts | HOSS0987 |29/09/2016 | 70000 | 2200 | 0 | 72200
私の目的は、 'AWK' を使用してこれらのレコードを処理することです。 私の要件 -
1) 'NAME'フィールドに特殊文字と数字(つまり、アルファベット文字のみである必要があります)と文字列の長さ(スペースを含む)を確認する必要があります 上記の条件が満たされない場合は、エラーレコードのみを印刷してエラーを報告してください。
2)空白を含む特殊文字の場合は、「INV NO」フィールドをチェックする必要があります(INV NO英数字フィールドです)。また、このフィールドの内容の長さを確認する必要がありますし、15を超えてはいけません。
上記の要件を満たす正規表現とそれを実装する手順も教えてください。
大文字と小文字を区別しないregexsを使用します。
check.awk
があるカンマ区切り値のサンプル入力でカンマを入力します。あなたの質問を編集して、それがサポートするテキストと一致するようにして、サンプル入力が与えられたときに期待される出力を追加してください。 –
「sed」コマンドを使用して、わかりやすいように、すべてのカンマを両側のスペースでパイプラインに置き換えました。 –
それは逆です。それをしないでください。それはあなたのホンダに問題があるようですが、あなたのトヨタがより良く見えるので、ホンダの問題を診断するためにトヨタをメカニックに連れて行くことです。 [mcve]で実際の値を表示すると、それ以外のものでは不一致が見つからない人の時間が無駄になり(http://stackoverflow.com/a/39376233/1745001参照)、結果的に可能な答えは私たちの残りの部分があなたが何を望んでいるか分からない。 –