2016-07-05 5 views
1

私はカンマの数が行内のカンマの5 +数字未満の行のファイルインデックスに追加するコマンドを発明しようとしています。ファイルに入れる:特定のパターンの行のインデックスと総数

が者が入力を仮定する:の結果を仮定する

'abc','abc','abc','abc,'abc,'abc 
'abc','abc','abc','abc,'abc,'abc,'abc 
'abc','abc','abc','abc,'abc,'abc,'abc,'abc' 

したがって、最初の行に5秒にコンマがある - 6および第三に - 7 と予想される結果:

Index: 2 Number of commas : 6 
Index: 3 Number of commas : 7 

は私はそのコマンドをエラーに入れたコマンドを発明しました.csv> 50ならば、行のすべての内容を覚えておいてください。

awk -F , 'NF > 50' <filename.csv >> errors.csv 

私にとって最も難しいのは、 - 行のファイルインデックスを取得して置く方法ですか? 私をサポートできますか?

+0

あなたの意図が明確ではありません。あなたは詳細を与えるために[編集]できますか? – fedorqui

+0

こんにちは、私の質問を編集しました – bazyl

答えて

2

あなたはawkNRNF変数使用して、この予想される出力を得ることができます:

awk -F"," '{ if(NF > 6) printf("Index: %d Number of commas : %d\n", NR, NF-1); }' filename.csv 

NRはあなたのファイル内のレコードの数を示します。

+0

これはまさに私が探していたものです。なぜ%dと%d \ nがあるのか​​、私にそれを説明できますか?ありがとう – bazyl

+0

これは 'printf'の'フォーマット指定子 'です。 REF:https://www.codingunit.com/printf-format-specifiers-format-conversions-and-formatted-output – Fazlin

+0

ファズリン、もう一つ質問があります。今度は、Act *から開始されたすべてのファイルを、13個以上のカンマが含まれていない場合は検索する必要があります。しかし、今カンマの番号とインデックスを除いて、私はそこにファイル名を入れたいと思います。 eg.Index:15、コンマの数:13、ファイル名:Act123.csvなど – bazyl

関連する問題