이전 명령으로 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일반적으로 대규모 프로그램의 경우 항상 특정 상황에 필요한 마력을 최소화하려고 노력하십시오. 계산해야 할 유일한 것이 파이썬과 유사한 목록이라면 [a, b, c]이것이 wc최선의 선택입니다. 그러나 보다 복잡한 작업의 경우 awk.

귀하의 예에서 :

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

여기서는 플래그를 사용하여 원하는 것을 -w알립니다.wc단어카운트( man wc더).

관련 정보