これは私のコードの仕組みです。改行文字がなくなったので、行の代わりに文字を数えるように指定されています。wc -c間違った文字数を計算するunix
オリジナルファイルは
A,0,0,0,21,36,12,0,0,0,17.2,34,18,17.2,30.5,96,126,517,2399,2,111.83,38.583,111,1,0,0,0,0,0,0
csvファイルは、データの束を持っていると私はちょうど列の数をカウントしています。コンマの数と同じ数の列しかありません。私は改行文字を削除したので、wc -lを使うことができないので、同じ値を返したwc -cまたは-mを使用しようとしました。ただし、N + 1の値を数えました。
!head -1 ~/where/my/data/is/at.csv | sed 's/[^,]//g' | cat -E
returns [',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,$']
ちょうどここにカンマをカウントすると、それは30ですが、私はwc -c
を行うとき、それは31
を返しますそれは私のインスタンスのために30を与える必要がありますが、それは私の31を与えているので、それはn個です+1。私はそのような問題を解決する方法を、wcが正しいものを数えていないときにしたい。
あなたがサンプルINPUT_FILEを投稿し、それが明確ではないとして、コードタグで期待される出力をサンプリングしてくださいでした。 – RavinderSingh13
あなたのサンプルではうまくいますサンプルラインを投稿して(またはサンプルラインを作成して)出力として必要なものを教えてくれれば、30のカンマではなく29のカンマしか表示されません。ただ出力が表示されますか?例: 'printf ',,,,,,,,,,,,,,,,,,,,,,,,,,,' | wc -c'は29を与えます...他に何ができますか? – Sundeep
私はawkがうまく動作すると思いますが、awkがここでコンマを数えているのと同じプロセスでwcがどのように動作するのか不思議です。 – Mayjunejuly