前のコマンドでPython配列の出力を計算する方法は?

前のコマンドでPython配列の出力を計算する方法は?

一部のデータを印刷するスクリプトを実行しました。次のようになります。

pi@pitwo:~/testing $ python3 scripts/test.py
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

データ長を計算するbashコマンドの方法を探しています。

計算を実行するスクリプトを書くことも、短いので手で計算することもできますが、Linux / Unixベテランがこれをどのように実行できるかについてのコメントを聞きたいです。

答え1

awkを使用してください:

awk -F, '{print NF}'

次に、カンマをフィールド区切り文字として使用し、フィールドの総数を印刷します。

答え2

配列のように見えるので、jsonパイプで接続できます。

jq length

答え3

wc代わりに使用する必要がありますawk。なぜですか?awk一般に、大規模なプログラムでは、常に特定の状況に必要な馬力を最小限に抑えるようにしてください。計算する唯一のものがPythonに似たリストであれば、[a, b, c]これがwc最善の選択です。しかし、より複雑な作業の場合awk

あなたの例では:

pi@pitwo:~/testing $ python3 scripts/test.py | wc -w
48

ここでは、フラグを使用して必要なものを-w通知します。wc言葉カウント(man wcもっと)。

関連情報