0
私はbashを使用して.csvファイルの5番目の列の合計を取得しようとしていますが、使用しているコマンドはゼロになっています。私は、列のヘッダー行を削除するためにはgrepを通じてファイルをパイプしています:bashを使用して特定の列の合計を取得しますか?
grep -v Header results.csv | awk '{sum += $5} END {print sum}'
私はbashを使用して.csvファイルの5番目の列の合計を取得しようとしていますが、使用しているコマンドはゼロになっています。私は、列のヘッダー行を削除するためにはgrepを通じてファイルをパイプしています:bashを使用して特定の列の合計を取得しますか?
grep -v Header results.csv | awk '{sum += $5} END {print sum}'
は、ここで私はそれを行うだろう方法は次のとおりです。
tail -n+2 | cut -d, -f5 | awk '{sum+=$1} END {print sum}'
か:何ターンに応じて、
tail -n+2 | awk -F, '{sum+=$5} END {print sum}'
(より速くなるようにしてください。)
データはスペースまたはコンマで区切られていますか?コンマであれば、 'awk'に分割するように伝える必要があります:' awk -F、... '。また、 'grep |あなたはawk -F、/ Header/{next} {sum + = $ 5} END {print sum} 'results.csv'(no grep')を必要とします。 '/ Header /'の代わりに 'NR == 1 'を使ってデータファイルの最初の行を削除することができます。 –
csvファイルのサンプルを投稿してください。 –
データはコンマで区切られています。ありがとう、私はこれを試してみます – user3871995